Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ustawia flagi opisujące stan debugowania tego elementu ICorDebugThread.
Składnia
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Parametry
state [in] Bitowa kombinacja wartości wyliczenia CorDebugThreadState, które określają stan debugowania tego wątku.
Uwagi
SetDebugState Ustawia bieżący stan debugowania wątku. (Bieżący stan debugowania reprezentuje stan debugowania, jeśli proces miał być kontynuowany, a nie rzeczywisty bieżący stan). Wartość normalna dla tej wartości to THREAD_RUN. Tylko debuger może mieć wpływ na stan debugowania wątku. Stany debugowania trwają w dalszym ciągu, więc jeśli chcesz zachować wątek THREAD_SUSPENDed przez wiele kontynuacji, możesz ustawić go raz i później nie trzeba się tym martwić. Wstrzymywanie wątków i wznawianie procesu może spowodować zakleszczenia, choć zwykle jest mało prawdopodobne. Jest to wewnętrzna jakość wątków i procesów i jest by-design. Debuger może asynchronicznie przerwać i wznowić wątki w celu przerwania zakleszczenia. Jeśli stan użytkownika wątku zawiera USER_UNSAFE_POINT, wątek może zablokować odzyskiwanie pamięci (GC). Oznacza to, że zawieszony wątek ma znacznie większą szansę na spowodowanie zakleszczenia. Może to nie mieć wpływu na zdarzenia debugowania, które już są umieszczone w kolejce. W związku z tym debuger powinien opróżnić całą kolejkę zdarzeń (wywołując element ICorDebugController::HasQueuedCallbacks) przed wstrzymaniem lub wznowieniem wątków. W przeciwnym razie może on pobierać zdarzenia w wątku, który uważa, że został już zawieszony.
Requirements
Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.
Nagłówek: CorDebug.idl, CorDebug.h
Biblioteka: CorGuids.lib
Wersje platformy .NET: Dostępne od programu .NET Framework 1.0