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
 My issues with 1624
 New Topic  Reply to Topic
 Printer Friendly
Previous Page | Next Page
Author Previous Topic Topic Next Topic
Page: of 4

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Jan 30 2008 :  2:42:14 PM  Show Profile  Reply with Quote
I have the log files, thank you for these. I have asked our developers if they can work out what is going on here:

case=12037

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

dreijer
Ketchup Master

62 Posts

Posted - Feb 18 2008 :  07:02:00 AM  Show Profile  Reply with Quote
feline, any news regarding this matter?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 18 2008 :  08:17:01 AM  Show Profile  Reply with Quote
Unfortunately no useful progress so far.

Have you ever installed any of the Express versions of the IDE on your system? One of our developers noted that what you are describing reminded him of this:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2816423&SiteID=1

which points here:

http://blogs.msdn.com/john_pollard/archive/2005/12/21/506433.aspx

and the problem being described here seems to be related to an incomplete uninstall of C# Express.

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

dreijer
Ketchup Master

62 Posts

Posted - Feb 18 2008 :  09:05:21 AM  Show Profile  Reply with Quote
No, I've never used any of the Express versions. I am running both VS2005 and VS2008 Professional on my system, though, but that shouldn't be too uncommon.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 18 2008 :  11:18:21 AM  Show Profile  Reply with Quote
Do you have time to try a fairly quick test? Do you see the same slow down in the DirectX test project if you reboot your machine into safe mode?

I have never been able to reproduce this, or even get close to it. I am wondering if some other process on your system is a factor. If the problem goes away in safe mode then this would suggest the problem is being caused by something outside of VA and the IDE.

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

dreijer
Ketchup Master

62 Posts

Posted - Feb 18 2008 :  11:22:26 AM  Show Profile  Reply with Quote
Sure, I can try that. I seem to recall that other people had similar issues though?
I'll give it a swing once I'm done coding for today.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 18 2008 :  11:45:27 AM  Show Profile  Reply with Quote
It depends what the issue you are seeing is. We have quite a few users reporting "VA does not work properly", but most of these users are reporting large numbers of symbols underlined as mistyped symbols. Something is confusing VA's parser, so it does not understand most of their code. I have finally pinned this down to STL iterators across "complex" types.

I am under the impression you are seeing typing slow right down, to the point where you can barely type. I don't think anyone else is reporting this. Also I cannot reproduce the problems, apparently with the same code as you. If I am really using the same code then this seems to rule out a parser problem.

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

dreijer
Ketchup Master

62 Posts

Posted - Feb 18 2008 :  2:33:50 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

I am under the impression you are seeing typing slow right down, to the point where you can barely type. I don't think anyone else is reporting this. Also I cannot reproduce the problems, apparently with the same code as you. If I am really using the same code then this seems to rule out a parser problem.


The slowdown is just a side effect, I think. Like, I mentioned previously how the IDE hangs sometimes when I select the auto-complete suggestion by hitting Enter. The main problem I'm having is that VA doesn't recognize the symbols fast enough. Take the DirectX project we looked at earlier, for instance. When I try to override the functions, I can often type the entire function call without VA suggesting any of the parameters. Let me know if you need clarification on this point.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 19 2008 :  07:57:37 AM  Show Profile  Reply with Quote
I have already detailed the tests I ran, and I ran them in a virtual machine. So if anything that should be a slower machine, with more overheads, so more prone to seeing the problems.

VA should not be running this far behind under normal circumstances. One possibility is that something about your machine is causing VA problems, some other process is slowing VA down, or blocking it, so it is taking much longer than normal to catch up with your typing. If it is simply some other program / process then safe mode may fix the problem.

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

dreijer
Ketchup Master

62 Posts

Posted - Feb 24 2008 :  1:38:07 PM  Show Profile  Reply with Quote
Sorry for the delay in testing out VA in safe mode, but I've been busy with other stuff. With that said, VA seemed much more responsive in safe mode and it instantly displayed the suggestion list boxes. I just tested the same solution now that I'm out of safe mode, and the DirectX project worked just fine with regard to the suggestion list boxes. The suggestions appeared instantly for all the functions I tried (very weird!).

However, out of safe mode I still noticed issues with VA where closing function brackets aren't inserted, i.e. a } when I type {. It also often doesn't add brackets after functions once I select the function in a suggestion list box, i.e. Foo -> <Enter> should give Foo(). Finally, I still see the "IDE hang" sometimes when I use auto-complete and I have to wait a couple of seconds for the IDE to become responsive again (and I'll see all the characters I previously entered being written at the same time).

Next step?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 25 2008 :  08:25:03 AM  Show Profile  Reply with Quote
The fact that the listboxes worked correctly in safe mode seems to prove that there is no parser problem. The fact they are now working normally in normal mode as well... You have already tried rebuilding VA's symbol database. This suggests that something else is causing these problems.

The difficulty typing, that sounds like either your CPU or hard drive is maxed out. Can you try disabling the IDE's intellisense and see if this typing speed problem goes away?

http://docs.wholetomato.com?W133

I have just tried the two zero length read only NCB files in VS2008, and they work as expected there as well. So can you please try that approach. I have lost track of which IDE you are using, but this will work in VS2005 and VS2008.

In VS2005 the IDE's intellisense will often produce the effect you are seeing when working on a large project, which is why so many of our users disable it.

If this does not help then can you please run Process Explorer:

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

and turn on the CPU History column. This will help in trying to find out if some process is using all of the CPU time, and which process it is.

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

pwaugh
Ketchup Master

USA
68 Posts

Posted - Feb 25 2008 :  4:42:43 PM  Show Profile  Reply with Quote
Have you recently scanned your system for viruses and spyware? Some hidden nastys may be causing you problems. =)

I only say this because a couple of days ago, some new stuff was "discovered" and that cleared up some mysterious cpu usage for me. =)

Programming in C++

VA_X.dll 10.4.1626.0
Built 2008.01.17

(1-user license) Support ends 2009.01.29

DevEnv.exe version 9.0.21022.8
msenv.dll version 9.0.21022.8
Comctl32.dll version 6.0.2900.2982
Windows XP 5.1 Build 2600 Service Pack 2
Single processor
Platform: Win32
Go to Top of Page

pwaugh
Ketchup Master

USA
68 Posts

Posted - Feb 25 2008 :  4:47:11 PM  Show Profile  Reply with Quote
OMG, I made Ketchup Master!!! You will never know how appropriate that is, haha.

Programming in C++

VA_X.dll 10.4.1626.0
Built 2008.01.17

(1-user license) Support ends 2009.01.29

DevEnv.exe version 9.0.21022.8
msenv.dll version 9.0.21022.8
Comctl32.dll version 6.0.2900.2982
Windows XP 5.1 Build 2600 Service Pack 2
Single processor
Platform: Win32
Go to Top of Page

dreijer
Ketchup Master

62 Posts

Posted - Mar 03 2008 :  05:55:03 AM  Show Profile  Reply with Quote
Seems I didn't get an e-mail from the forum telling me there was a new reply, so I apologize for the delayed response.

quote:
Originally posted by feline

The difficulty typing, that sounds like either your CPU or hard drive is maxed out. Can you try disabling the IDE's intellisense and see if this typing speed problem goes away?

We already tried this and disabling IntelliSense didn't fix anything. It just made VA work even worse. I'll give Process Explorer a try to see if something is up with the CPU usage, but so far I haven't noticed any problems in Task Manager (as we've talked about before).

quote:
Originally posted by feline

In VS2005 the IDE's intellisense will often produce the effect you are seeing when working on a large project, which is why so many of our users disable it.

Ironically, it seems IntelliSense works better for me than VA at the moment. Often, IntelliSense is able to find symbols that VA cannot.

I have a major deadline coming up in a week, but after that I'll try reinstalling VS2008 and see if that fixes anything.

quote:
Originally posted by pwaugh

I only say this because a couple of days ago, some new stuff was "discovered" and that cleared up some mysterious cpu usage for me. =)

I don't see any "mysterious CPU usage".
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 03 2008 :  09:06:56 AM  Show Profile  Reply with Quote
I am now totally confused.

In your reply on Feb 24 2008 you seem to say that VA works correctly in safe mode, and that after trying safe mode it started working correctly in normal mode as well.

Did VA work correctly for a few minutes after this test? A few days?

If VA works correctly in safe mode then this suggests the problem is caused or triggered by some other program. An anti-virus program or other scanner might be causing the problems, we have had (very rare) reports of anti-virus programs causing problems. Excluding VA's symbol database from being scanned often fixes these problems.

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 03 2008 :  2:33:09 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

I am now totally confused.

In your reply on Feb 24 2008 you seem to say that VA works correctly in safe mode, and that after trying safe mode it started working correctly in normal mode as well.

Did VA work correctly for a few minutes after this test? A few days?

Well, it seems like VA parses the symbols a bit better now, but I still see all the other issues. I also often get functions that are underlined in red even though IntelliSense has no problem finding the symbols.

quote:
Originally posted by feline

If VA works correctly in safe mode then this suggests the problem is caused or triggered by some other program. An anti-virus program or other scanner might be causing the problems, we have had (very rare) reports of anti-virus programs causing problems. Excluding VA's symbol database from being scanned often fixes these problems.


I agree that it must be some other program. I'll try to disable my anti-virus scanner and see what happens.
Go to Top of Page

dreijer
Ketchup Master

62 Posts

Posted - Mar 05 2008 :  02:50:44 AM  Show Profile  Reply with Quote
Okay, so disabling my anti-virus program (McAfee VirusScan Enterprise) seems to have fixed the latency issues. The DX test solution now works like a charm. The symbols are suggested instantly and all brackets are inserted as they should.

Now, with those problems out of the way I think it's time we move on to some of the other issues I'm having. I'm a big fan of the Boost C++ library, and I'm having some issues getting VA to parse them correct. For instance I have the following piece of code:
boost::shared_ptr<IDataMapper> pDataMapper;
pDataMapper->

The IDataMapper is an abstract class with pure virtual methods only. When I hit -> VA does not display any symbols at all. I have added the include path for the boost library to the project settings (C/C++->General->Additional Include Directories) and the project compiles just fine. The boost::shared_ptr part is underlined in red which leads me to believe that VA doesn't use the include paths specified in project settings. Do I really have to manually add the include path to VA as well? (By the way, if I enable the "Get content from default IntelliSense" setting, VA shows the symbols just fine.)

Consider the following piece of code:
IDataMapper pFoo;
pFoo->

The problem here is that IntelliSense seems to be having some difficulties parsing the IDataMapper class (don't know why). Therefore, if I have the aforementioned "Get content from default IntelliSense" setting enabled, VA doesn't show any symbols when I type ->
Go to Top of Page

dreijer
Ketchup Master

62 Posts

Posted - Mar 06 2008 :  05:23:53 AM  Show Profile  Reply with Quote
Addendum: I just added the include path for the boost library to VA. It seems VA has problems seeing that:
boost::shared_ptr<IDataMapper> pDataMapper;
pDataMapper->

should actually display the methods for the pure virtual class IDataMapper. Do you have a similar problem?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 06 2008 :  4:07:32 PM  Show Profile  Reply with Quote
VA does support the C++ additional include directories.

shared_ptr first, do you have:

#include <boost/shared_ptr.hpp>

in the current file? If not then does adding it make any difference?
If you place the caret into the file name what does VA show in the definition field? It should show the full path to this include file.

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 12 2008 :  06:23:24 AM  Show Profile  Reply with Quote
Adding:

#include <boost/shared_ptr.hpp>

did not fix anything.
Sorry for the slow reply (once again). Had a deadline to attend to. I'm all yours now though, as I'd really like to get this problem fixed!

If I place the caret into the #include definition, VA lists the correct path to the boost library. Furthermore, I can use Alt+G to go to the correct file. This also explains why writing:

IDataMapper pDataMapper;
pDataMapper->

works just fine.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 12 2008 :  10:08:06 AM  Show Profile  Reply with Quote
If you add the code:

	boost::shared_ptr<std::string> pString;
	pString->|

to a file, does VA correctly list the members of std::string? This works correctly for me, with "Get content from default Intellisense" turned Off.

In your last post do you actually mean that:

IDataMapper pDataMapper;
pDataMapper->

fails? Is IDataMapper one of your own classes? A quick google is not returning many hits at all.

If you show VA View, then place keyboard focus back into the editor, and now hover the mouse over IDataMapper is the correct information displayed?

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 12 2008 :  10:49:24 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

If you add the code:

	boost::shared_ptr<std::string> pString;
	pString->|

to a file, does VA correctly list the members of std::string? This works correctly for me, with "Get content from default Intellisense" turned Off.

This works fine for me as well. After a bit of testing it seems adding 'boost::' in front of shared_ptr fixes the issue. This approach works for both std::string and the IDataMapper class. However, I have already written:

using boost::shared_ptr;

at the top of the source file, so I shouldn't need that extra namespace specifier. Furthermore, once I've added boost:: in front of the type once, I can delete all of the test code I wrote and just type:

shared_ptr<string> pString;

and VA suddenly knows all the symbols and displays the suggestion box.

quote:
Originally posted by feline

In your last post do you actually mean that:

IDataMapper pDataMapper;
pDataMapper->

fails? Is IDataMapper one of your own classes? A quick google is not returning many hits at all.

No, I did mean to say that it worked. IDataMapper is my own class with only pure virtual methods. Without the shared_ptr, I get a list of suggestions, but with shared_ptr I get nothing.

quote:
Originally posted by feline

If you show VA View, then place keyboard focus back into the editor, and now hover the mouse over IDataMapper is the correct information displayed?

Yes, the correct information is displayed. Typing -> shows none of those methods, though.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 12 2008 :  12:18:35 PM  Show Profile  Reply with Quote
Would it be possible to get a copy of the class IDataMapper for testing purposes?

using VS2005 and VA 1626 I have just added the following class to a header file:

class FelineIDataMapper
{
public:
	virtual int getHeight() = 0;
	virtual int getWidth() = 0;
	virtual int setHeight(int n) = 0;
	virtual int setWidth(int n) = 0;
};

and the following code to the matching cpp file:

using boost;

static void testBoostSharedPtr()
{
shared_ptr<std::string> pString;
pString;

shared_ptr<FelineIDataMapper> pMapper;
pMapper;
}


When typing "->" after "pString" or "pMapper" I get a spontaneous listbox showing the correct items.

I am not sure why VA seems to be having problems with the using boost statement, and so far I cannot reproduce this problem here.

You said:

>> Furthermore, once I've added boost:: in front of the type once, I can delete all of the test code I wrote and just type:

How easily does this break? If you restart the IDE does this still work, or are you once more seeing the problem with shared_ptr<std::string> ?

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 12 2008 :  12:25:10 PM  Show Profile  Reply with Quote
quote:
Originally posted by feline

Would it be possible to get a copy of the class IDataMapper for testing purposes?

The class relies heavily on other header files, but if you don't need to compile it I guess it should suffice?

You said:
> using boost;

Try doing like I did with the "using std::shared_ptr;"

quote:
Originally posted by feline

How easily does this break? If you restart the IDE does this still work, or are you once more seeing the problem with shared_ptr<std::string> ?


I just need to close the solution and reopen it, and its broken again. I don't even need to restart the IDE. The funny thing is, though, that once I've made it work in one source file, it works in all source files.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 12 2008 :  2:25:45 PM  Show Profile  Reply with Quote
Adding:

using boost::shared_ptr;

was the key step, I am now seeing part of the problem you are seeing. I get a spontanious listbox on "pString" but I have to press CTRL-SPACE to get a listbox on "pMapper":

static void testBoostSharedPtr()
{
    shared_ptr<std::string> pString;
    pString;

    shared_ptr<FelineIDataMapper> pMapper;
    pMapper;
}


case=14457

For now the work arounds seem to be to change the using statement to:

using boost;

or to turn on "Get content from default Intellisense"

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 13 2008 :  4:50:59 PM  Show Profile  Reply with Quote
I don't like including the entire boost namespace. That's bad practice and against my coding guidelines.
I think we also talked about the issues the ""Get content from default Intellisense" presented.

So, do you have any ETA on this bug? I think it's one of the last issues I'm experiencing. (I'm seeing another one, but I don't know when I should spill the beans :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 14 2008 :  10:25:13 AM  Show Profile  Reply with Quote
Currently I have no estimate on this bug.

This thread is really confusing, so I have no idea what problems you are seeing with "Get content from default Intellisense" turned on.

I would suggest changing "shared_ptr" to "boost::shared_ptr" for the problem cases. This does assume that "shared_ptr" works most of the time. It does in my testing, only failing for an abstract class.

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

dreijer
Ketchup Master

62 Posts

Posted - Mar 14 2008 :  11:00:46 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline


This thread is really confusing, so I have no idea what problems you are seeing with "Get content from default Intellisense" turned on.

The problem here is that IntelliSense seems to be having some difficulties parsing the IDataMapper class (don't know why). Therefore, if I have the aforementioned "Get content from default IntelliSense" setting enabled, VA doesn't show any symbols when I type ->

quote:
Originally posted by feline

I would suggest changing "shared_ptr" to "boost::shared_ptr" for the problem cases.

Unfortunately, I'm not going to modify all my source files for this reason. I've included the boost::shared_ptr namespace explicitly to avoid cluttering the code with unnecessary qualifiers. I guess I'll just have to wait patiently...

In the meantime, take a look at this post:
http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=7338
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Mar 15 2008 :  12:02:13 PM  Show Profile  Reply with Quote
You could try editing VA's stdafx.h file, and adding:

#define shared_ptr boost::shared_ptr

I have not tried this here, so I am not sure if it will work or not, but it might.

Editing VA's "StdAfx.h" file is explained in this FAQ entry:

http://docs.wholetomato.com?W302

This file is used to help VA's parser with difficult code, and can be used to work around odd effects. After modifying this file you need to rebuild the VA symbol database for the changes to take effect:

VA Options -> Performance -> General -> Rebuild symbol databases

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

support
Whole Tomato Software

5566 Posts

Posted - Apr 10 2008 :  12:54:29 AM  Show Profile  Reply with Quote
case=11842 is fixed in build 1632
Go to Top of Page
Page: of 4 Previous Topic Topic Next Topic  
Previous Page | Next Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000