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 起提供