Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Alt-g/HCB/Find Symbol wierdness
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

jameso
Ketchup Master

United Kingdom
83 Posts

Posted - May 11 2007 :  06:01:16 AM  Show Profile  Reply with Quote
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

feline
Whole Tomato Software

United Kingdom
18941 Posts

Posted - May 11 2007 :  08:14:25 AM  Show Profile  Reply with Quote
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.

zen is the art of being at one with the two'ness
Go to Top of Page

jameso
Ketchup Master

United Kingdom
83 Posts

Posted - May 14 2007 :  06:46:07 AM  Show Profile  Reply with Quote
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
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18941 Posts

Posted - May 14 2007 :  09:02:01 AM  Show Profile  Reply with Quote
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?

zen is the art of being at one with the two'ness
Go to Top of Page

jameso
Ketchup Master

United Kingdom
83 Posts

Posted - May 17 2007 :  04:26:58 AM  Show Profile  Reply with Quote
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
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 17 2007 :  10:23:04 AM  Show Profile  Reply with Quote
Do you have "Parse all files when opening a project" enabled (VAssistX | VA Options | Performance | Parse all)?
Go to Top of Page

jameso
Ketchup Master

United Kingdom
83 Posts

Posted - May 17 2007 :  12:30:43 PM  Show Profile  Reply with Quote
I did have (yesterday) but it's currently turned off.

Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 17 2007 :  12:41:01 PM  Show Profile  Reply with Quote
If you turn the option on and then re-open the solution does the in solution symbol count change?
Go to Top of Page

jameso
Ketchup Master

United Kingdom
83 Posts

Posted - May 18 2007 :  05:06:44 AM  Show Profile  Reply with Quote
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
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000