共用方式為


ICorDebugThread::SetDebugState 方法

設定描述此 ICorDebugThread 偵錯狀態的旗標。

語法

HRESULT SetDebugState (
    [in] CorDebugThreadState state
);

參數

state [在]CorDebugThreadState 列舉值的位元組合,可指定此執行緒的偵錯狀態。

備註

SetDebugState 設定執行緒的目前偵錯狀態。 (「目前偵錯狀態」代表要繼續進程時的偵錯狀態,而不是實際的目前狀態。此值的正常值為 THREAD_RUN。 只有偵錯工具可以影響執行緒的偵錯狀態。 偵錯狀態會在持續期間持續,因此如果您想要讓執行緒在多次持續中保持THREAD_SUSPENDed,您可以設定一次,之後就不必擔心了。 暫停執行緒並繼續進程可能會導致死結,但通常不太可能。 這是執行緒和進程的固有品質,也是設計使然。 偵錯工具可以非同步中斷和繼續執行緒,以中斷死結。 如果執行緒的使用者狀態包含 USER_UNSAFE_POINT,則執行緒可能會封鎖記憶體回收 (GC) 。 這表示暫停的執行緒造成死結的可能性要高得多。 這可能不會影響已排入佇列的偵錯事件。 因此,偵錯工具應該先清空整個事件佇列 (呼叫 ICorDebugController::HasQueuedCallbacks) ,再暫停或繼續執行緒。 否則,它可能會在它認為已暫停的線程上獲取事件。

需求

平台: 請參閱 .NET 支援的作業系統

標題: CorDebug.idl、CorDebug.h

圖書館: CorGuids.lib

.NET 版本: 自 .NET Framework 1.0 起提供