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_FOR_REJIT = 8
} COR_PRF_SUSPEND_REASON;
멤버
멤버 | Description |
---|---|
COR_PRF_SUSPEND_OTHER |
지정되지 않은 이유로 런타임이 일시 중단되었습니다. |
COR_PRF_SUSPEND_FOR_GC |
가비지 수집 요청을 처리하기 위해 런타임이 일시 중단됩니다. 가비지 수집 관련 콜백은 ICorProfilerCallback::RuntimeSuspendFinished 및 ICorProfilerCallback::RuntimeResumeStarted 콜백 사이에서 발생합니다. |
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
AppDomain 을 종료할 수 있도록 런타임이 일시 중단되었습니다.런타임이 일시 중단되는 동안 런타임은 종료되는 AppDomain 에 있는 스레드를 확인하고 다시 시작될 때 중단되도록 설정합니다. 이 일시 중지 중에는 특정 AppDomain 의 콜백이 없습니다. |
COR_PRF_SUSPEND_FOR_CODE_PITCHING |
코드 피칭이 발생할 수 있도록 런타임이 일시 중단됩니다. 코드 피칭은 JIT(Just-In-Time) 컴파일러가 코드 피칭이 사용하도록 설정된 상태에서 활성화된 경우에만 발생합니다. 코드 피칭 콜백은 ICorProfilerCallback::RuntimeSuspendFinished 및 ICorProfilerCallback::RuntimeResumeStarted 콜백 사이에서 발생합니다. 참고: CLR JIT는 .NET Framework 버전 2.0에서 함수를 추천하지 않으므로 이 값은 2.0에서 사용되지 않습니다. |
COR_PRF_SUSPEND_FOR_SHUTDOWN |
종료할 수 있도록 런타임이 일시 중단됩니다. 작업을 완료하려면 모든 스레드를 일시 중단해야 합니다. |
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER |
프로세스 내 디버깅을 위해 런타임이 일시 중단됩니다. |
COR_PRF_SUSPEND_FOR_GC_PREP |
가비지 수집을 준비하기 위해 런타임이 일시 중단됩니다. |
COR_PRF_SUSPEND_FOR_REJIT |
JIT 다시 컴파일을 위해 런타임이 일시 중단됩니다. |
설명
비관리 코드에 있는 모든 런타임 스레드는 런타임에 다시 들어가려고 할 때까지 계속 실행되도록 허용되며, 이 시점에서 런타임이 다시 시작될 때까지 일시 중단됩니다. 이는 런타임에 들어가는 새 스레드에도 적용됩니다. 런타임 내의 모든 스레드는 인터럽트 가능한 코드에 있는 경우 즉시 일시 중단되거나 인터럽트 가능한 코드에 도달하면 일시 중단하도록 요청됩니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 1.0부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET