Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
The debugger may stop responding when mixed-mode debugging a debuggee that uses more than 63 thread local storage slots
Article ID: 939969 - View products that this article applies to.
Consider the following scenario. An application is running under a mixed mode debugger, also known as an "interop-debugger." The debuggee has not loaded the common language runtime (CLR). The debuggee allocates more than 63 thread local storage (TLS) slots, and then the debuggee loads the CLR. In this scenario, the debugger stops responding, and the debugger may consume 100 percent of the CPU usage. If the debuggee is stopped by using Task Manager, the debugger becomes responsive again.
Note This problem may also occur with any mixed-mode debugger that uses the ICorDebug interfaces (specifically Microsoft Visual Studio .NET 2002, Visual Studio .NET 2003, and Visual Studio 2005) for those corresponding runtimes.
This problem occurs because the CLR uses TLS slots. The mixed-mode debugger must read the CLR’s TLS slots from out of process, and the mixed-mode debugger does not correctly read slots that have an index above 63.
To work around this problem, use one of the following methods: