Sdílet prostřednictvím


COR_PRF_SUSPEND_REASON – výčet

Označuje důvod pozastavení modulu runtime.

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;  

Členové

Člen Description
COR_PRF_SUSPEND_OTHER Modul runtime je pozastaven z nespecifikovaného důvodu.
COR_PRF_SUSPEND_FOR_GC Modul runtime je pozastavený, aby se vyhověl požadavek na uvolnění paměti.

Zpětné volání související s uvolňováním paměti dochází mezi zpětnými voláními ICorProfilerCallback::RuntimeSuspendFinished a ICorProfilerCallback::RuntimeResumeStarted .
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Modul runtime je pozastaven, aby bylo možné ho AppDomain vypnout.

Zatímco je modul runtime pozastavený, modul runtime určí, která vlákna jsou v AppDomain vypínání, a nastaví je na přerušení při jejich obnovení. Během tohoto pozastavení nejsou žádná AppDomainzpětná volání specifická.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Modul runtime je pozastaven, aby mohlo dojít k rozhodování kódu.

Vytváření kódu se provádí pouze tehdy, když je aktivní kompilátor JIT (just-in-time) s povoleným předhazováním kódu. Zpětná volání pro předvolání kódu se vyskytují mezi ICorProfilerCallback::RuntimeSuspendFinished zpětnými voláními a ICorProfilerCallback::RuntimeResumeStarted . Poznámka: CLR JIT nerozšiřuje funkce v rozhraní .NET Framework verze 2.0, takže tato hodnota se ve verzi 2.0 nepoužívá.
COR_PRF_SUSPEND_FOR_SHUTDOWN Modul runtime je pozastaven, aby se mohl vypnout. Aby se operace dokončila, musí pozastavit všechna vlákna.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Modul runtime je pozastaven pro ladění v rámci procesu.
COR_PRF_SUSPEND_FOR_GC_PREP Modul runtime je pozastavený kvůli přípravě na uvolňování paměti.
COR_PRF_SUSPEND_FOR_REJIT Modul runtime je pozastavený kvůli rekompilaci JIT.

Poznámky

Všechna vlákna modulu runtime, která jsou v nespravovaném kódu, mohou běžet, dokud se nepokusí znovu vstoupit do modulu runtime. V tomto okamžiku budou také pozastavena, dokud se modul runtime neobnoví. To platí také pro nová vlákna, která vstupují do modulu runtime. Všechna vlákna v modulu runtime jsou buď okamžitě pozastavena, pokud jsou v přerušitelném kódu, nebo jsou vyzvána k pozastavení, když se dostanou k přerušitelnému kódu.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také