Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Symbol browser shows duplicate entries when sorted, except when sorted by access
ollydbg:
I can't open the project, because C::B always ask for variables definition like "qt4" and others. But I didn't have qt installed in my computer. :(
Jenna:
--- Quote from: ollydbg on December 28, 2009, 08:32:04 am ---I can't open the project, because C::B always ask for variables definition like "qt4" and others. But I didn't have qt installed in my computer. :(
--- End quote ---
I use a dummy here ( /tmp )and it works, you can not compile it anyway, so it doesn't matter what you have there.
ollydbg:
Ok, using dummy folder works.
I guess this is caused by a patch to fix the function argument. There is a patch supplied by visualfc, he add some code to get the "real function argument", so, these function prototypes give the same entry.
int fun( int a = 0 );
int fun( int b = 0 );
Edit:
Ok, this is a problem by add Tokens. For example, in the sample code there is something like this:
In header:
--- Code: --- gfxScene(spsysDiagram * diagram);
--- End code ---
In CPP:
--- Code: ---gfxScene::gfxScene(spsysDiagram * diagram)
{
setSceneRect(QRectF(0,0,1600,1200) ); //
rightBorder = 10;
topBorder = 20;
offsetShadow = 8;
dragging = false;
linkedDiagram = diagram;
}
--- End code ---
When the parser meet the first function prototype, it add a Token(declaration), but the argument is striped.
When the parser meet the second function implementation, it checks a Token is already exist, but it can't find one, so, he just add another Token(has both declaration and implementation in the same place)
Micool121:
Ok I understand, one thing let me perplexed is that some functions are corectly parsed , and some others are not.
At the begining I thought it was becase of caracter encoding issues but it's seem not to be related to that... (some file are UTF-8 encoded, some others are windows-1252). I tryed to use UTF-8 everywhere: it gave the same behaviour.
An other thing :adding a single space chr after the semicolon of " gfxScene(spsysDiagram * diagram); " in the header modifies the way the parser recognises the functions, adding comments does the same... give it a try.
I hope this helps ;)
ollydbg:
--- Quote from: Micool121 on December 28, 2009, 11:39:36 am ---An other thing :adding a single space chr after the semicolon of " gfxScene(spsysDiagram * diagram); " in the header modifies the way the parser recognises the functions, adding comments does the same... give it a try.
--- End quote ---
I can confirm this, I will look into it.
Edit
As a reminder, see this SVN log message:
rev 5873
--- Quote ---* do not remove doubles in the symbols-browser; they reflect a parser issue, that can not be handled correctly by the symbols browser, and removed doubles most likely contain information that gets lost otherwise
--- End quote ---
Navigation
[0] Message Index
[*] Previous page
Go to full version