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
 VAX 1535: throw and Alt-G
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Sep 22 2006 :  1:30:21 PM  Show Profile  Reply with Quote
VS2003, C++

throw MyException();


Alt+G on MyException will go nowhere, only returns to the very same line.

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Sep 22 2006 :  8:59:59 PM  Show Profile  Reply with Quote
That looks wrong too:
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Sep 24 2006 :  5:03:11 PM  Show Profile  Reply with Quote
the alt-g problem after throw is:

case=2683

this seems to be caused by VA thinking the class is a local variable, which makes sense.


that tooltip does look wrong, i agree, but i cannot reproduce it so far. i am getting this:



if i add the line:

CException foo;

and then use alt-g on CException i am taken to the file:

C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\\atlmfc\\include\\afx.h

is this the same location you are taken to? or are you ending up somewhere different?

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Sep 24 2006 :  10:01:20 PM  Show Profile  Reply with Quote
CException is defined/declared in more than one of the projects in the current workspace but alt+g takes me nowhere. I am not using the atl/mfc exception classes, but my own.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Sep 30 2006 :  5:03:50 PM  Show Profile  Reply with Quote
are you only trying alt-g on lines that look like:

throw CException("problem details");

? I have just added a local CException class to one of my projects, and alt-g when throwing the exception does not do anything, just as you report. this is covered by case=2683

however when i just put CException on its own alt-g offers me both the local CException class and the system one.

can you check what happens on the line:

CExecption("just testing alt-g");

in your code please?

do all of the local CException classes have the same constructor? could you post the constructor from the .h file? I am still unable to reproduce that tooltip.

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Sep 30 2006 :  5:32:58 PM  Show Profile  Reply with Quote
CException on a line of its own, as a variable declaration, works fine and it jumps to the definition.

My CException class has a ctor which takes two std::string or two LPCSTR's.
explicit CException(std::string, std::string);
explicit CException(LPCSTR, LPCSTR);
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 02 2006 :  5:31:33 PM  Show Profile  Reply with Quote
when you hover the mouse over your CException class what does VA show in the HCB?
i am still not able to reproduce this tooltip bug, but i seem to be getting the tooltip for the ALT/MFC class instead of my local class.

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 02 2006 :  5:44:50 PM  Show Profile  Reply with Quote
nothing, absolutely nothing. Cleaning db/cache/history doesnt improve the result.

Ok, lets make it clearer: hovering over the CException in the throw line, shows nothing. Hovering over CException in a variable style line, shows class info (well, i get the usual duplicated entries, but thats "normal"), although THIS class info is a perfect mix of MY class and the ATL/MFC class, means it shows members of both classes.

I am using includes from the ATL/MFC folders in some projects in the workspace but not in all. The ones which include the MFC CException do not include my CException class.
Alt+G on CException shows 3 locations: two different project folders and the MFC folders. Thats correct so far. Besides of VAX not being able to distinguish which one i am using in the current project file.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 04 2006 :  5:10:29 PM  Show Profile  Reply with Quote
is there any C# code in this solution? i saw a bug report a couple of days ago about duplicate entries showing up in the HCB for C# classes.

i suspect knowing which classes a given cpp file can see would require checking things like pre-processor directives, and other things that only the compiler really has access to. however that does not explain why you should get a mix of two separate classes in the HCB.

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 04 2006 :  6:53:07 PM  Show Profile  Reply with Quote
No C# in that solution. Anyway there are about a dozen reports (half of them from me) about multiple entries in the HCB, 8 month old and more.

The "mix" i am not able to explain. Thats up to the WT LADS.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 05 2006 :  1:43:37 PM  Show Profile  Reply with Quote
we seem to be finally getting on top of the duplicate entries in the HCB for C# code. it has taken a while, but there are quite a lot of outstanding bug reports at the moment.

i will ask about the mixing up and the other odd effects here.

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 05 2006 :  1:55:48 PM  Show Profile  Reply with Quote
What about the multiple entries for C++ ??? Any chances there too?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 05 2006 :  2:46:11 PM  Show Profile  Reply with Quote
the honest answer is i don't know. i recall a specific C++ bug where operator functions would be listed twice, but so far i cannot find any sign of an open bug report for this in the bug tracking system

also i am not sure if the fix (which should be in the next build) for duplicate items from C# classes will also effect C++ classes.

personally i do not use the HCB much, but when i do use it in C++ i never notice any duplicate items.

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 05 2006 :  3:06:13 PM  Show Profile  Reply with Quote
Those posts are seemingly archived (not finding anything older than jan 2006) and most of them in the no longer existing (for me?) "Private Beta" forum.
Anyway, I can produce at will as many screenshots of it as needed. see for example:
VAX 1203 (2003)

VAX 1208 (2003)

VAX 1215 (2004)

VAX 1535 (2006)

The definition of the SIPResolver class fits on a screen and is as simple as can be.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 05 2006 :  4:15:32 PM  Show Profile  Reply with Quote
the SIPResolver screen shot looks just like the C# bug in action. if it is the same effect then when you open the IDE the HCB shows the correct information. as you move from file to file, using CTRL-TAB the number of duplicates increases.

given this is C++ you probably have to CTRL-TAB across the header file.

does this sound like a reasonable description of your experience?

the problem with this theory is that i cannot reproduce the bug using a C++ project.

do you have any idea how the HCB ends up looking like this? is it ever correct to start with?

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

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 05 2006 :  4:19:13 PM  Show Profile  Reply with Quote
No need to tab through the files. I just open any file and there it is, even right after loading the solution, for some classes its never right, for others its always right. No pattern. It actually does not grow the list, the items remain stable.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 06 2006 :  01:01:40 AM  Show Profile  Reply with Quote
The ctrl+tab bug strictly affected C# (case=2734).

Does the problem always affect the same classes or will a class be fine in one session and afflicted in the next? For example does the HCB for SIPResolver always appear as it does in the last screenshot?

I assume that SIPResolver is defined in a header file? Is it part of a solution or is it included via an additional include directory?

Is the definition in a VSS shared file? That is, does the file exist in multiple places or is there just one copy of the file?

If you mouseover the duplicate entries in the HCB, are the file and line numbers that appear in the tooltips for each item the same?
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 06 2006 :  09:11:32 AM  Show Profile  Reply with Quote
So far i can see all definitions that are wrong in the HCB are VSS shared files, that exist multiple times in the solution. The number of copies does however not correlate to the number of copies in the HCB. Not even all members of the affected classes are appearing multiple times, some classes show ctors 3 times, but another member only once (and vice versa).
The line numbers are all the same and correct.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Oct 09 2006 :  5:18:43 PM  Show Profile  Reply with Quote
I have a test project that produces duplicate items in the HCB. Interestingly only functions are being listed more than once. The class I have duplicated also contains a member variable and an enum, but this is not being duplicated in the HCB.

For ease this test uses real duplicate files, I simply copy / pasted them. When I hover the mouse over the entries in the HCB the duplicate functions come from different files.

Uniwares are these shared files in different directories? I assume they must be. You are getting the same file and line, but are you seeing the full path for the files? If so do the duplicates have different paths?

One can hope that a fix for this will help with the mixed up CException HCB results.

case=2917







zen is the art of being at one with the two'ness

Edited by - feline on Oct 09 2006 5:19:32 PM
Go to Top of Page

Uniwares
Tomato Guru

Portugal
2321 Posts

Posted - Oct 10 2006 :  9:22:50 PM  Show Profile  Reply with Quote
feline, the duplicates do have different paths, functions, data members, enums, all have different paths. Except... when there are more than two. Sometimes there are all different paths, sometimes there are only two different ones, with one or two which are the same.
Double-clicking the item takes me always to the location shown in the tooltip. (at least that)
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - May 31 2007 :  01:10:55 AM  Show Profile  Reply with Quote
case=2683 fixed in build 1557
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