Enumerazione COR_PRF_SUSPEND_REASON
Indica il motivo per cui il runtime è stato sospeso.
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;
Membri
Membro |
Descrizione |
---|---|
COR_PRF_FIELD_SUSPEND_OTHER |
Il runtime è stato sospeso per un motivo non specificato. |
COR_PRF_FIELD_SUSPEND_FOR_GC |
Il runtime è stato sospeso per far fronte a una richiesta di Garbage Collection. I callback relativi a Garbage si verificano tra i callback di ICorProfilerCallback::RuntimeSuspendFinished e ICorProfilerCallback::RuntimeResumeStarted. |
COR_PRF_FIELD_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
Il runtime è stato sospeso in modo da consentire l'arresto di AppDomain. Mentre è sospeso, il runtime determinerà quali thread si trovano nella classe AppDomain in fase di arresto e li imposterà per l'interruzione quando riprenderanno l'esecuzione. Non vi sono callback specifici di AppDomain durante questa sospensione. |
COR_PRF_FIELD_SUSPEND_FOR_CODE_PITCHING |
Il runtime è stato sospeso in modo da consentire il "code pitching". Tale tecnica viene utilizzata solo quando il compilatore JIT (Just-In-Time) è attivo con il code pitching attivato. I callback di code pitching si verificano tra i callback di ICorProfilerCallback::RuntimeSuspendFinished e ICorProfilerCallback::RuntimeResumeStarted. ![]()
JIT di Common Language Runtime non esegue il pitching delle funzioni in .NET Framework 2.0, pertanto questo valore non viene utilizzato in tale versione.
|
COR_PRF_FIELD_SUSPEND_FOR_SHUTDOWN |
Il runtime è stato sospeso in modo da poter essere arrestato. Per completare l'operazione, deve sospendere tutti i thread. |
COR_PRF_FIELD_SUSPEND_FOR_INPROC_DEBUGGER |
Il runtime è stato sospeso per il debug in-process. |
COR_PRF_FIELD_SUSPEND_FOR_GC_PREP |
Il runtime è stato sospeso per effettuare la preparazione per una Garbage Collection. |
Note
Tutti i thread in fase di esecuzione che si trovano nel codice non gestito possono continuare a essere eseguiti finché non tentano di accedere di nuovo al runtime. A quel punto, verranno sospesi anch'essi fino alla ripresa del runtime. Ciò accade anche per i nuovi thread che accedono al runtime. Tutti i thread nel runtime vengono sospesi immediatamente se si trovano in codice che può essere interrotto oppure vengono informati di dover sospendere l'esecuzione quando raggiungono codice di questo tipo.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: CorProf.idl, CorProf.h
Libreria: CorGuids.lib
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0