Fix for Gradual Debugger Slowdown

Visual Studio 2008 added a feature to automatically attach to a service in your solution when the code you're debugging makes a request to that service. By automatically attaching to the service you're able to stop on breakpoints in the service code without having to explicitly step into the other project.

This debugger integration requires tracking the call stacks of running processes. In some cases the debugger fails to clean up these call stacks causing the client to run increasingly slowly over time. You may be encountering this problem if you have a solution containing both the client and service projects, if running in Visual Studio is much slower than running outside of Visual Studio, and if the difference in performance grows continuously worse during a debugging session.

If you're not using the debugger integration feature to automatically attach to the service, you can work around the slowdown for debugging. Visual Studio includes a tool for configuring the debugger integration in %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE called vsdiag_regwcf.

To disable the debugger integration run vsdiag_regwcf -u from the command line. You can restore the debugger integration by running vsdiag_regwcf -i.

This problem is fixed in Visual Studio 2010.