ICorProfilerCallback4::ReJITError 메서드
JIT(Just-In-Time) 컴파일러가 다시 컴파일 프로세스에서 오류를 발견했음을 프로파일러에 알립니다.
구문
HRESULT ReJITError(
[in] ModuleID moduleId,
[in] mdMethodDef methodId,
[in] FunctionID functionId,
[in] HRESULT hrStatus);
매개 변수
moduleID
[in] 실패한 재컴파일 시도가 이루어진 ModuleID
입니다.
methodId
[in] 실패한 재컴파일 시도가 이루어진 메서드의 MethodDef
입니다.
functionId
[in] 재컴파일 중이거나 재컴파일로 표시된 함수 인스턴스입니다. 인스턴스화 단위가 아니라 메서드 단위로 실패가 발생한 경우 이 값은 NULL
일 수 있습니다(예: 프로파일러가 다시 컴파일할 메서드에 대해 잘못된 메타데이터 토큰을 지정한 경우).
hrStatus
[in] 실패의 특성을 나타내는 HRESULT입니다. 값 목록은 상태 HRESULTS 섹션을 참조하세요.
Return Value
이 콜백의 반환 값은 무시됩니다.
상태 HRESULTS
상태 배열 HRESULT | 설명 |
---|---|
E_INVALIDARG | moduleID 또는 methodDef 토큰은 NULL 입니다. |
CORPROF_E_DATAINCOMPLETE | 모듈은 아직 완전히 로드되지 않았거나 언로드되는 중입니다. |
CORPROF_E_MODULE_IS_DYNAMIC | 지정된 모듈은 동적으로 생성되었으므로(예: Reflection.Emit ) 이 메서드에서 지원되지 않습니다. |
CORPROF_E_FUNCTION_IS_COLLECTIBLE | 메서드는 수집 가능한 어셈블리로 인스턴스화되므로 다시 컴파일할 수 없습니다. 리플렉션이 아닌 컨텍스트(예: List<MyCollectibleStruct> )에 정의된 형식 및 함수는 수집 가능한 어셈블리로 인스턴스화될 수 있습니다. |
E_OUTOFMEMORY | JIT 다시 컴파일을 위해 지정된 메서드를 표시하는 동안 CLR의 메모리가 부족합니다. |
기타 | 운영 체제가 CLR의 제어 범위를 벗어난 오류를 반환했습니다. 예를 들어 메모리 페이지의 액세스 보호를 변경하려는 시스템 호출이 실패하면 운영 체제 오류가 표시됩니다. |
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 4.5부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET