Udostępnij za pośrednictwem


COR_PRF_SUSPEND_REASON — Wyliczenie

Wskazuje przyczynę zawieszenia środowiska uruchomieniowego.

Składnia

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;  

Elementy członkowskie

Członek Opis
COR_PRF_SUSPEND_OTHER Środowisko uruchomieniowe jest zawieszone z nieokreślonej przyczyny.
COR_PRF_SUSPEND_FOR_GC Środowisko uruchomieniowe jest zawieszone w celu obsługi żądania odzyskiwania pamięci.

Wywołania zwrotne związane z odzyskiwaniem pamięci występują między wywołaniami zwrotnymi ICorProfilerCallback::RuntimeSuspendFinished i ICorProfilerCallback::RuntimeResumeStarted .
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN Środowisko uruchomieniowe jest zawieszone, aby AppDomain można było go zamknąć.

Gdy środowisko uruchomieniowe jest zawieszone, środowisko uruchomieniowe określi, które wątki znajdują się w AppDomain zamykanym środowisku i ustawi je na przerwanie po wznowieniu. W tym zawieszeniu nie AppDomainma żadnych specyficznych wywołań zwrotnych.
COR_PRF_SUSPEND_FOR_CODE_PITCHING Środowisko uruchomieniowe jest zawieszone, aby można było wykonać pitching kodu.

Dzbany kodu są widoczne tylko wtedy, gdy kompilator just in time (JIT) jest aktywny z włączonym rozmachem kodu. Wywołania zwrotne kodu występują między ICorProfilerCallback::RuntimeSuspendFinished wywołaniami zwrotnymi i ICorProfilerCallback::RuntimeResumeStarted . Uwaga: Interfejs JIT środowiska CLR nie rozbija funkcji w .NET Framework wersji 2.0, więc ta wartość nie jest używana w wersji 2.0.
COR_PRF_SUSPEND_FOR_SHUTDOWN Środowisko uruchomieniowe jest zawieszone, aby można je było zamknąć. Aby ukończyć operację, należy zawiesić wszystkie wątki.
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER Środowisko uruchomieniowe jest zawieszone na potrzeby debugowania w procesie.
COR_PRF_SUSPEND_FOR_GC_PREP Środowisko uruchomieniowe jest zawieszone w celu przygotowania się do odzyskiwania pamięci.
COR_PRF_SUSPEND_FOR_REJIT Środowisko uruchomieniowe jest zawieszone na potrzeby ponownej kompilacji JIT.

Uwagi

Wszystkie wątki środowiska uruchomieniowego, które znajdują się w kodzie niezarządzanym, mogą być nadal uruchamiane do momentu ponownego wprowadzenia środowiska uruchomieniowego, w którym momencie zostaną one również zawieszone do momentu wznowienia środowiska uruchomieniowego. Dotyczy to również nowych wątków, które wchodzą w środowisko uruchomieniowe. Wszystkie wątki w środowisku uruchomieniowym są natychmiast zawieszone, jeśli są one w kodzie przerywanym lub poproszone o zawieszenie, gdy dotrą do kodu przerwalnego.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

wersje .NET Framework: dostępne od wersji 1.0

Zobacz też