Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit des indicateurs qui décrivent l’état de débogage de cet ICorDebugThread.
Syntaxe
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
Paramètres
state [in] Combinaison au niveau du bit des valeurs d’énumération CorDebugThreadState qui spécifient l’état de débogage de ce thread.
Remarques
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 être poursuivi, et non l’état actuel réel.) La valeur normale de ce paramètre est THREAD_RUN. Seul le débogueur peut affecter l’état de débogage d’un thread. Les états de débogage continuent de se poursuivre. Par conséquent, si vous souhaitez conserver un thread THREAD_SUSPENDed sur plusieurs continue, vous pouvez le définir une fois et par la suite ne pas avoir à vous soucier de celui-ci. La suspension des threads et la reprise du processus peuvent entraîner des interblocages, bien qu’il soit généralement peu probable. Il s’agit d’une qualité intrinsèque de threads et de processus et est par conception. Un débogueur peut interrompre et reprendre de façon asynchrone les threads pour briser le blocage. Si l’état utilisateur du thread inclut USER_UNSAFE_POINT, le thread peut bloquer un garbage collection (GC). Cela signifie que le thread suspendu a une probabilité beaucoup plus élevée d’entraîner un interblocage. Cela peut ne pas affecter les événements de débogage déjà mis en file d’attente. Par conséquent, un débogueur doit vider l’ensemble de la file d’attente d’événements (en appelant ICorDebugController ::HasQueuedCallbacks) avant de suspendre ou de reprendre des threads. Sinon, il peut obtenir des événements sur un thread qu’il croit qu’il a déjà suspendu.
Spécifications
Plates-formes: Consultez les systèmes d’exploitation pris en charge par .NET.
En-tête: CorDebug.idl, CorDebug.h
Bibliothèque: CorGuids.lib
Versions de .NET : Disponible depuis .NET Framework 1.0