views:

1036

answers:

2

First of all, everything was working fine for several months:

When I tried to debug a web app with Visual Studio 2005 and Internet Explorer 7, I just click "Start Debugging", a IE window opened and the process was attached to the debugger.

But after I installed IE 8, the process was not attached automatically. I had to attach manually to be able to debug anything.

Then I discovered that to make it work correctly I had to close all other instances of IE 8 before start to debug. But I did not need to do this with IE 7.

I have Windows Vista Enterprise and everything is up to date.

Is this the correct behavior? If it is not, what I have to do to debug a web app without having to close any other IE 8 instances?

+2  A: 

The problem is caused by IE8 creating new processes for each new tab. This is the solution

1) Open RegEdit

2) Browse to HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main

3) Add a dword under this key called TabProcGrowth

4) Set TabProcGrowth to 0

Check out this link for the full details from Brad Sullivan

http://social.microsoft.com/Forums/en-US/vsdebug/thread/e2c795cd-b7a0-4fad-b7c9-b1ca40d7302e

In summary: IE8 creates a new process for each tab. The VS2005 debugger doesn't know which process to attach to, and so doesn't attach to anything. The solution is to stop IE8 creating new process for each tab. Brad mentions that this problem is found on older versions of the VS debugger, but does not say if it works properly in VS2008 or VS2010.

Edit: If you are using Vista you need to turn off IE "Protected Mode" which is a checkbox on the Security Tab under Tools -> Internet Options.

iamdudley
It didn´t work. Same problem, the VS2005 debugger did not start.
fbinder
A: 

修改注册表的方法真的起作用了。

Vusual Studio 2003 + IE8