COR_PRF_SUSPEND_REASON
Mise à jour : novembre 2007
Indique la raison pour laquelle le runtime est suspendu.
typedef enum {
COR_PRF_SUSPEND_OTHER = 0x00,
COR_PRF_SUSPEND_FOR_GC = 0x01,
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN = 0x02,
COR_PRF_SUSPEND_FOR_CODE_PITCHING = 0x03,
COR_PRF_SUSPEND_FOR_SHUTDOWN = 0x04,
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER = 0x06,
COR_PRF_SUSPEND_FOR_GC_PREP = 0x07
} COR_PRF_SUSPEND_REASON;
Membres
Membre |
Description |
||
---|---|---|---|
COR_PRF_FIELD_SUSPEND_OTHER |
Le runtime est suspendu pour une raison non spécifiée. |
||
COR_PRF_FIELD_SUSPEND_FOR_GC |
Le runtime est suspendu pour traiter une demande de garbage collection. Les rappels associés au garbage collection ont lieu entre les rappels ICorProfilerCallback::RuntimeSuspendFinished et ICorProfilerCallback::RuntimeResumeStarted. |
||
COR_PRF_FIELD_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
Le runtime est suspendu pour qu'un AppDomain puisse être arrêté. Pendant qu'il est suspendu, le runtime détermine quels threads sont dans le AppDomain qui est arrêté et les définit de sorte qu'ils soient annulés lors de leur reprise. Il n'y a aucun rappel spécifique à AppDomain pendant cette interruption. |
||
COR_PRF_FIELD_SUSPEND_FOR_CODE_PITCHING |
Le runtime est suspendu pour que la suspension de code puisse avoir lieu. La suspension de code s'ensuit uniquement lorsque le compilateur juste-à-temps (JIT, Just-In-Time) est actif avec la suspension de code activée. Les rappels de suspension de code se produisent entre les rappels ICorProfilerCallback::RuntimeSuspendFinished et ICorProfilerCallback::RuntimeResumeStarted.
|
||
COR_PRF_FIELD_SUSPEND_FOR_SHUTDOWN |
Le runtime est suspendu pour pouvoir être arrêté. Il doit suspendre tous les threads pour terminer l'opération. |
||
COR_PRF_FIELD_SUSPEND_FOR_INPROC_DEBUGGER |
Le runtime est suspendu pour le débogage en cours de processus. |
||
COR_PRF_FIELD_SUSPEND_FOR_GC_PREP |
Le runtime est suspendu pour préparer un garbage collection. |
Notes
Tous les threads d'exécution qui sont dans du code non managé peuvent continuer à s'exécuter jusqu'à ce qu'ils essaient de rentrer dans le runtime ; ils sont alors suspendus à leur tour jusqu'à la reprise du runtime. Cela s'applique également aux nouveaux threads qui entrent dans le runtime. Tous les threads dans le runtime sont immédiatement suspendus s'ils sont dans du code interruptible, ou doivent être suspendus lorsqu'ils atteignent du code interruptible.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Corprof.idl
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0