Microsoft KB Archive/105585
PRB: Unable to Freeze One Thread in WinDbg PSS ID Number: Q105585 Article last modified on 04-23-1994
|The information in this article applies to:|
|- Microsoft Win32 Software Development Kit (SDK) for Windows NT version 3.1|
The Notes section of the “Set thread” entry of the WinDbg Help file states
In any of the above listed states, a thread may be frozen. If a thread is at a breakpoint, no threads in that process will run. If a thread is at a breakpoint and then frozen, it will still be considered stopped until the thread is continued (at which time it will still be considered frozen).
If you set a breakpoint in a multithreaded application and freeze a thread after the breakpoint is hit, all threads stop, as expected. If you then choose GO on the frozen thread, the message in the Command window is “Thread is still frozen,” which seems fine but all other threads remain blocked until the thread is unfrozen.
The implementation of ContinueDebugEvent() uses the thread that is being continued to do some of its work. If the thread is suspended, it cannot run; therefore, the ContinueDebugEvent operation is not finished until the thread is resumed.
Microsoft has confirmed this to be a limitation in WinDbg.
Additional reference words: 3.10 KBCategory: Prg KBSubcategory: TlsWindbg
Copyright Microsoft Corporation 1994.