Microsoft KB Archive/105585

From BetaArchive Wiki

PRB: Unable to Freeze One Thread in WinDbg PSS ID Number: Q105585 Article last modified on 04-23-1994

3.10

WINDOWS NT

The information in this article applies to:
- Microsoft Win32 Software Development Kit (SDK) for Windows NT version 3.1

SYMPTOMS

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.

CAUSE

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.

STATUS

Microsoft has confirmed this to be a limitation in WinDbg.

Additional reference words: 3.10 KBCategory: Prg KBSubcategory: TlsWindbg

=================================================================

Copyright Microsoft Corporation 1994.