共用方式為


ICorDebugThread::SetDebugState 方法

設定旗標,描述這個 ICorDebugThread 的偵錯狀態。

語法

HRESULT SetDebugState (
    [in] CorDebugThreadState state
);

參數

state [in]CorDebugThreadState 列舉值的位元組合,指定這個線程的偵錯狀態。

備註

SetDebugState 會設定線程的目前偵錯狀態。 (如果進程要繼續,則「目前偵錯狀態」代表偵錯狀態,而不是實際的目前狀態。這是THREAD_RUN的一般值。 只有調試程式會影響線程的偵錯狀態。 偵錯狀態會持續持續執行,因此如果您想要讓線程THREAD_SUSPENDed多個繼續,您可以設定一次,之後就不需要擔心它。 暫停線程並繼續進程可能會導致死結,但通常不太可能。 這是線程和進程的內在品質,而且是依設計。 調試程式可以異步中斷並繼續線程,以中斷死結。 如果線程的用戶狀態包含USER_UNSAFE_POINT,則線程可能會封鎖垃圾收集 (GC)。 這表示暫停的線程很有可能造成死結。 這可能會影響已排入佇列的偵錯事件。 因此,調試程式應該先清空整個事件佇列(藉由呼叫 ICorDebugController::HasQueuedCallbacks),再暫停或繼續線程。 否則,它可能會取得線程上的事件,因為它認為它已經暫停。

需求

平台:請參閱系統需求

標頭:CorDebug.idl、CorDebug.h

程式庫:CorGuids.lib

.NET Framework 版本: 自 1.0 起提供