Partager via


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.

Remarque :

Dans la mesure où le JIT CLR ne suspend pas les fonctions dans le .NET Framework version 2.0, cette valeur n'est pas utilisée dans la version 2.0.

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

Voir aussi

Autres ressources

Énumérations de profilage