ICorDebugThread::SetDebugState – metoda
Nastaví příznaky, které popisují stav ladění tohoto ICorDebugThread.
Syntaxe
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Parametry
state
[v] Bitové kombinace Hodnot výčtu CorDebugThreadState, které určují stav ladění tohoto vlákna.
Poznámky
SetDebugState
nastaví aktuální stav ladění vlákna. (Aktuální stav ladění představuje stav ladění, pokud proces pokračoval, nikoli skutečný aktuální stav.) Normální hodnota pro tuto hodnotu je THREAD_RUN. Stav ladění vlákna může ovlivnit pouze ladicí program. Stavy ladění se opakují, takže pokud chcete zachovat vlákno THREAD_SUSPENDed více pokračování, můžete ho nastavit jednou a potom se o něj nemusíte starat. Pozastavení vláken a obnovení procesu může způsobit zablokování, i když je obvykle nepravděpodobné. Jedná se o vnitřní kvalitu vláken a procesů a je navržená. Ladicí program může asynchronně přerušit a obnovit vlákna, aby přerušil vzájemné zablokování. Pokud stav uživatele vlákna obsahuje USER_UNSAFE_POINT, může vlákno blokovat uvolňování paměti (GC). To znamená, že pozastavené vlákno má mnohem větší šanci způsobit zablokování. To nemusí mít vliv na události ladění, které jsou již zařazeny do fronty. Ladicí program by tedy měl vyprázdnit celou frontu událostí (voláním ICorDebugController::HasQueuedCallbacks) před pozastavením nebo obnovením vláken. Jinak může dojít k událostem ve vlákně, u kterého se domnívá, že už je pozastavený.
Požadavky
Platformy: Viz požadavky na systém.
Hlavička: CorDebug.idl, CorDebug.h
Knihovna: CorGuids.lib
Verze rozhraní .NET Framework: Dostupné od verze 1.0