Partager via


COR_PRF_SUSPEND_REASON, énumération

Indique la raison pour laquelle le runtime est interrompu.

Syntaxe

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_FOR_REJIT               = 8  
} COR_PRF_SUSPEND_REASON;  

Membres

Membre Description
COR_PRF_SUSPEND_OTHER Le runtime est interrompu pour une raison non spécifiée.
COR_PRF_SUSPEND_FOR_GC Le runtime est interrompu pour traiter une requête de garbage collection.

Les rappels liés au garbage collection se interviennent entre les rappels ICorProfilerCallback::RuntimeSuspendFinished et ICorProfilerCallback::RuntimeResumeStarted.
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Le runtime est interrompu pour permettre l’arrêt d’un AppDomain.

Lors de son interruption, le runtime détermine les threads du AppDomain en cours d’arrêt et définit leur abandon lorsqu’ils reprennent. Il n’existe pas de rappels AppDomain spécifiques lors de cette interruption.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Événements de compilation juste-à-temps (JIT) et de lancement du code.

Le lancement du code intervient uniquement lorsque le compilateur juste-à-temps est actif et que ce lancement est activé. Les rappels de lancement du code se produisent entre les rappels ICorProfilerCallback::RuntimeSuspendFinished et ICorProfilerCallback::RuntimeResumeStarted. Remarque : Le JIT CLR ne lance pas les fonctions dans .NET Framework version 2.0 et cette valeur n’est donc pas utilisée dans la version 2.0.
COR_PRF_SUSPEND_FOR_SHUTDOWN Le runtime est interrompu pour permettre son arrêt. Il doit interrompre tous les threads pour terminer l’opération.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Le runtime est interrompu à des fins de débogage in-process.
COR_PRF_SUSPEND_FOR_GC_PREP Le runtime est interrompu pour préparer une opération de garbage collection.
COR_PRF_SUSPEND_FOR_REJIT Le runtime est interrompu à des fins de recompilation JIT.

Notes

Tous les threads du runtime situés dans du code non managé sont autorisés à poursuivre leur exécution jusqu’à ce qu’ils tentent de réintégrer le runtime, auquel cas ils sont également interrompus jusqu’à la reprise du runtime. Cela s’applique également aux nouveaux threads qui entrent dans le runtime. Tous les threads du runtime sont immédiatement interrompus s’ils se trouvent dans du code interruptible ou invités à le faire s’ils atteignent du code interruptible.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : CorProf.idl, CorProf.h

Bibliothèque : CorGuids.lib

Versions de .NET Framework : Disponible à partir de la version 1.0

Voir aussi