ICorDebugThread::SetDebugState, méthode
Définit les indicateurs qui décrivent l'état de débogage de ce ICorDebugThread.
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Paramètres
- state
[in] Combinaison d'opérations de bits des valeurs d'énumération CorDebugThreadState qui spécifient l'état de débogage de ce thread.
Notes
SetDebugState définit l'état de débogage actuel du thread. (L'« état de débogage actuel » représente l'état de débogage si le processus devait continuer, pas l'état actuel réel.) La valeur normale correspondante est THREAD_RUNNING. Seul le débogueur peut modifier l'état de débogage d'un thread. Les états de débogage persistent au cours des exécutions ; par conséquent, si vous souhaitez qu'un thread conserve l'état THREAD_SUSPEND pendant plusieurs exécutions, vous pouvez le définir une fois et ne plus vous en occuper. La suspension des threads et la reprise du processus peuvent provoquer des interblocages, bien que cela soit généralement peu probable. Il s'agit d'une qualité intrinsèque des threads et des processus par conception. Un débogueur peut interrompre et reprendre de façon asynchrone les threads pour arrêter l'interblocage. Si l'état utilisateur du thread inclut USER_UNSAFE_POINT, le thread peut bloquer un garbage collection (GC). Cela signifie que le thread suspendu risque davantage de provoquer un interblocage. Les événements de débogage déjà mis en file d'attente ne seront pas nécessairement affectés. Par conséquent, un débogueur doit entièrement vider la file d'attente des événements (en appelant ICorDebugController::HasQueuedCallbacks) avant de suspendre ou de reprendre les threads. Autrement, il peut obtenir des événements sur un thread qu'il pense avoir déjà suspendus.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : CorDebug.idl, CorDebug,h
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0