ICorDebugThread::SetDebugState 方法

设置描述此 ICorDebugThread 调试状态的标志。

Syntax

HRESULT SetDebugState (
    [in] CorDebugThreadState state
);

参数

state [in]CorDebugThreadState 枚举值的按位组合,指定此线程的调试状态。

注解

SetDebugState 设置线程的当前调试状态。 (如果进程要继续,而不是实际当前状态,则“当前调试状态”表示调试状态。此值的正常值为THREAD_RUN。 只有调试器才能影响线程的调试状态。 调试状态会持续进行,因此,如果要使线程THREAD_SUSPENDed多个继续,可以设置一次,之后无需担心。 暂停线程并恢复进程可能会导致死锁,尽管它通常不太可能。 这是线程和进程的内部质量,是按设计进行的。 调试器可以异步中断并恢复线程以中断死锁。 如果线程的用户状态包括USER_UNSAFE_POINT,则线程可能会阻止垃圾回收(GC)。 这意味着挂起的线程更有可能导致死锁。 这可能会影响已排队的调试事件。 因此,调试器应在挂起或恢复线程之前(通过调用 ICorDebugController::HasQueuedCallbacks)清空整个事件队列。 否则,它可能会在认为它已暂停的线程上获取事件。

要求

平台: 请参阅 .NET 支持的作系统

页眉: CorDebug.idl、CorDebug.h

图书馆: CorGuids.lib

.NET 版本: 自 .NET Framework 1.0 起可用