COR_PRF_SUSPEND_REASON 열거형
런타임이 일시 중단된 원인을 나타냅니다.
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;
멤버
멤버 |
설명 |
---|---|
COR_PRF_FIELD_SUSPEND_OTHER |
알수 없는 원인으로 런타임이 일시 중단되었습니다. |
COR_PRF_FIELD_SUSPEND_FOR_GC |
가비지 수집 요청을 처리하기 위해 런타임이 일시 중단되었습니다. 가비지 수집 관련 콜백은 ICorProfilerCallback::RuntimeSuspendFinished 콜백과 ICorProfilerCallback::RuntimeResumeStarted 콜백 사이에서 발생합니다. |
COR_PRF_FIELD_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
AppDomain을 종료할 수 있도록 런타임이 일시 중단되었습니다. 런타임이 일시 중단되어 있는 동안 런타임에서는 종료 중인 AppDomain에 있는 스레드를 확인하고 해당 스레드가 다시 시작될 때 중단되도록 설정합니다. 이 일시 중단 동안에는 AppDomain 관련 콜백이 발생하지 않습니다. |
COR_PRF_FIELD_SUSPEND_FOR_CODE_PITCHING |
코드 피칭이 발생할 수 있도록 런타임이 일시 중단되었습니다. 코드 피칭은 코드 피칭을 사용하도록 설정된 상태에서 JIT(Just-In-Time) 컴파일러가 활성화될 때만 발생합니다. 코드 피칭 콜백은 ICorProfilerCallback::RuntimeSuspendFinished 콜백과 ICorProfilerCallback::RuntimeResumeStarted 콜백 사이에서 발생합니다.
참고
.NET Framework 버전 2.0에서는 CLR JIT가 함수를 피칭하지 않으므로 2.0에서는 이 값이 사용되지 않습니다.
|
COR_PRF_FIELD_SUSPEND_FOR_SHUTDOWN |
런타임을 종료할 수 있도록 런타임이 일시 중단되었습니다. 작업을 완료하려면 모든 스레드를 일시 중단해야 합니다. |
COR_PRF_FIELD_SUSPEND_FOR_INPROC_DEBUGGER |
in-process 디버깅을 위해 런타임이 일시 중단되었습니다. |
COR_PRF_FIELD_SUSPEND_FOR_GC_PREP |
가비지 수집을 준비하기 위해 런타임이 일시 중단되었습니다. |
설명
비관리 코드에 있는 모든 런타임 스레드는 런타임에 다시 진입하려고 시도하기 전까지 계속 실행될 수 있습니다. 런타임에 다시 진입할 때는 런타임이 다시 시작되기 전까지 스레드가 일시 중단됩니다. 이 동작은 런타임에 진입하는 새 스레드에도 적용됩니다. 런타임 내의 모든 스레드는 중단 가능한 코드에 있을 경우 즉시 일시 중단되거나, 중단 가능한 코드에 도달할 때 일시 중단 여부를 묻는 메시지가 표시될 수 있습니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0