T O P I C R E V I E W |
jameso |
Posted - May 11 2007 : 06:01:16 AM Given a line of code list this:
CMyObjPtr p = new CMyObj(x);
Alt-G on CMyObj finds the class definition (in the header) rather than the constructor. Alt-G on CMyObjPtr (correctly) offers me a choice between the forward declaration and the actual declaration (it's a typedef for a templated smart pointer)
If I type if CMyObj in the "symbols in workspace" combo in VA View, it can't find the definition. If I click in CMyObj and wait for the HCB to catch up, nothing happens.
Now I look at the contents of the symbols in workspace combo, it has nowhere near enough in it - it looks, in fact, as if it contains only things which have been #imported or .net referenced.
If I do VAssist|Find Symbol, it defaults to [0 from 3545] and I can't find CMyObj. If I uncheck "Show only symbols defined in current workspace", I can (now 104 of 350561).
This happens irrespective of the project (DLL) which is currently selected.
I also have the usual sprinkling of messages in startup.log, including
GetSymDef idx C:\\Documents and Settings\\...\\VisualAssist\\vs8\\CPP\\Db4Ds.db is corrupt,
fid=0x5a39f7, rel=0x10a6, act=0x1252555 tid=2824 uiTid=1908:195 5/11/2007 10:50:07 0xb08
Moving db4* and restarting doesn't resolve the problem.
Hope there are some useful clues there!
James |
8 L A T E S T R E P L I E S (Newest First) |
jameso |
Posted - May 18 2007 : 05:06:44 AM Yes, it's now 134783 in the workspace of 345208 in all.
CMyObj is shown as being in the workspace & things seem to be working (at least for now!)
Thanks |
sean |
Posted - May 17 2007 : 12:41:01 PM If you turn the option on and then re-open the solution does the in solution symbol count change? |
jameso |
Posted - May 17 2007 : 12:30:43 PM I did have (yesterday) but it's currently turned off.
|
sean |
Posted - May 17 2007 : 10:23:04 AM Do you have "Parse all files when opening a project" enabled (VAssistX | VA Options | Performance | Parse all)? |
jameso |
Posted - May 17 2007 : 04:26:58 AM Everything's now rebuilt. There are 4718 files in the solution in all and the number of cpp's is about right. The CMyObj files are now in the list.
Find Symbol, however, still lists 3545 symbols 'defined in the current workspace' and upwards of 200k in all. CMyObj was not in either list until I opened the cpp containing CMyObj, at which point Find Symbol knows about another couple of thousand symbols 'outside' the workspace, including CMyObj. (Presumbaly this means that the parser has not, in fact, finished. I still don't understand why a symbol declared and defined in a project in the solution isn't regarded as being part of the workspace)
The particular project in which this class is defined contains about 300 cpp files containing about 500 classes, many of which are auto-generated (although CMyObj is not, and is in it's own file)
CMyObjs is also forward declared - both as a class and a parameter for a template.
quote:
Which IDE are you using? If you are using VS2005 which version? Do you have any other plugin's installed? Is there anything "odd" about your solution that might explain why VA is having so many problems?
VA_X.dll file version 10.3.1555.0 built 2007.04.26 VAOpsWin.dll version 1.3.2.0 VATE.dll version 1.0.5.4 DevEnv.exe version 8.0.50727.762 msenv.dll version 8.0.50727.762 Font: Consolas 11(Pixels) Comctl32.dll version 6.0.2900.2982 Windows XP 5.1 Build 2600 Service Pack 2 2 processors
No other plugins. I'm not aware of any particular wierdness, but that depends what sort of things you count as being wierd!
James
|
feline |
Posted - May 14 2007 : 09:02:01 AM If you open the OFIW dialog, ALT-SHIFT-O, the title bar tells you the number of files showing, and the total number of files found, in square brackets.
How close is the second number to the size of your solution? Slightly close? Clearly stupid? If it is 14 and you have 2,000 files then we need to work out why first.
Which IDE are you using? If you are using VS2005 which version? Do you have any other plugin's installed? Is there anything "odd" about your solution that might explain why VA is having so many problems? |
jameso |
Posted - May 14 2007 : 06:46:07 AM I rebuilt the symbol database this morning - it was parsing for about 2 hours.
quote: The header file that contains the class definition for CMyObj, if you close this file, so it is not open in the IDE, is it still listed in OFIW? I am wondering how well VA knows about this header file. It is almost as if VA does not think it is part of your current solution.
Neither the header nor the CPP are listed in OFIW, whether the files are open or not.
Currently I have 19 source files open, 17 of which are members of projects in the solution. The top half of VA View has 14 files in, 6 of which aren't currently open. The combo at the top includes both the .h and .cpp for CMyObj, but CMyObj isn't in the symbols in workspace combo.
Find Symbol still has 3545 symbols in the "current workspace" and there are 343823 symbols it knows about. There are about 2000 cpp files in the solution.
I concur that VA doesn't think the CMyObjs files are part of the solution, but everything else does! If it would be helpful to rebuild the symbols databases with logging on, I'll do that, but overnight tonight rather than while I'm trying to work too!
James |
feline |
Posted - May 11 2007 : 08:14:25 AM You might want to try:
VA Options -> Performance -> General -> Rebuild symbol databases
and then restart the IDE. Clearly something is going wrong, but I am not sure what is causing this problem.
The header file that contains the class definition for CMyObj, if you close this file, so it is not open in the IDE, is it still listed in OFIW? I am wondering how well VA knows about this header file.
It is almost as if VA does not think it is part of your current solution. |
|
|