다음을 통해 공유


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

참고 항목

기타 리소스

프로파일링 열거형