Freigeben über


COR_PRF_SUSPEND_REASON-Enumeration

Zeigt den Grund an, aus dem die Runtime angehalten wurde.

Syntax

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;  

Member

Member BESCHREIBUNG
COR_PRF_SUSPEND_OTHER Die Runtime wird aus einem nicht angegebenen Grund angehalten.
COR_PRF_SUSPEND_FOR_GC Die Runtime wird angehalten, um eine Anforderung einer Garbage Collection zu erfüllen.

Die auf die Garbage Collection bezogenen Rückrufe erfolgen zwischen den Rückrufen von ICorProfilerCallback::RuntimeSuspendFinished und ICorProfilerCallback::RuntimeResumeStarted.
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Die Runtime wird angehalten, damit eine AppDomain heruntergefahren werden kann.

Während die Runtime angehalten ist, ermittelt sie, welche Threads sich in der AppDomain befinden, die heruntergefahren wird, und legt sie auf Abbruch fest, wenn sie fortgesetzt wird. Während dieser Unterbrechung gibt es keine AppDomain-spezifischen Rückrufe.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Die Runtime wird angehalten, sodass Codepitching erfolgen kann.

Codepitching erfolgt nur, wenn der JIT-Compiler (Just-In-Time) aktiv ist und Codepitching aktiviert ist. Rückrufe für Codepitching erfolgen zwischen den Rückrufen ICorProfilerCallback::RuntimeSuspendFinished und ICorProfilerCallback::RuntimeResumeStarted. Hinweis: CLR JIT bietet in der .NET Framework-Version 2.0 keine Pitchfunktionen, sodass dieser Wert in Version 2.0 nicht verwendet wird.
COR_PRF_SUSPEND_FOR_SHUTDOWN Die Runtime wird angehalten, damit sie heruntergefahren werden kann. Alle Threads müssen angehalten werden, um den Vorgang abschließen zu können.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Die Runtime wird für In-Process-Debuggen angehalten.
COR_PRF_SUSPEND_FOR_GC_PREP Die Runtime wird angehalten, um eine Garbage Collection vorzubereiten.
COR_PRF_SUSPEND_FOR_REJIT Die R wird für die JIT-Neukompilierung angehalten.

Bemerkungen

Alle Runtimethreads in nicht verwaltetem Code dürfen so lange weiter ausgeführt werden, bis sie versuchen, wieder in die Runtime einzutreten. Zu diesem Zeitpunkt werden sie ebenfalls ausgesetzt, bis die Runtime fortgesetzt wird. Dies gilt auch für neue Threads, die in die Laufzeit gelangen. Alle Threads in der Runtime werden entweder sofort angehalten, wenn sie sich in unterbrechbarem Code befinden, oder aufgefordert, angehalten zu werden, wenn sie unterbrechbaren Code erreichen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: seit Version 1.0 verfügbar

Siehe auch