Condividi tramite


Enumerazione COR_PRF_SUSPEND_REASON

Indica il motivo per cui il runtime è sospeso.

Sintassi

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;  

Members

Membro Descrizione
COR_PRF_SUSPEND_OTHER Il runtime viene sospeso per un motivo non specificato.
COR_PRF_SUSPEND_FOR_GC Il runtime viene sospeso per il servizio di una richiesta di Garbage Collection.

I callback correlati a Garbage Collection si verificano tra i callback ICorProfilerCallback::RuntimeSuspendFinished e ICorProfilerCallback::RuntimeResumeStarted callback.
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Il runtime viene sospeso in modo che un oggetto AppDomain possa essere arrestato.

Mentre il runtime viene sospeso, il runtime determina quali thread si trovano nell'oggetto AppDomain in cui vengono arrestati e li impostano per interrompere la ripresa. Non AppDomainsono presenti callback specifici durante questa sospensione.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Il runtime viene sospeso in modo che possa verificarsi il pitching del codice.

L'inserimento del codice si verifica solo quando il compilatore JIT (Just-In-Time) è attivo con il pitching del codice abilitato. I callback di inserimento del codice si verificano tra i ICorProfilerCallback::RuntimeSuspendFinished callback e ICorProfilerCallback::RuntimeResumeStarted i callback. Nota: CLR JIT non esegue le funzioni di inclinazione in .NET Framework versione 2.0, quindi questo valore non viene usato in 2.0.
COR_PRF_SUSPEND_FOR_SHUTDOWN Il runtime viene sospeso in modo che possa essere arrestato. Deve sospendere tutti i thread per completare l'operazione.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Il runtime viene sospeso per il debug in-process.
COR_PRF_SUSPEND_FOR_GC_PREP Il runtime viene sospeso per preparare una Garbage Collection.
COR_PRF_SUSPEND_FOR_REJIT Il runtime viene sospeso per la ricompilazione JIT.

Commenti

Tutti i thread di runtime che si trovano nel codice non gestito possono continuare a eseguire fino a quando non tentano di immettere nuovamente il runtime, a quel punto verranno sospesi anche fino a quando il runtime non riprende. Questo vale anche per i nuovi thread che entrano nel runtime. Tutti i thread all'interno del runtime vengono sospesi immediatamente se si trovano nel codice interrotto o viene chiesto di sospendere quando raggiungono il codice interrotto.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile da 1.0

Vedi anche