ICorProfilerCallback::ExceptionCatcherEnter 메서드
제어가 적절한 catch
블록으로 전달되고 있음을 프로파일러에 알립니다.
구문
HRESULT ExceptionCatcherEnter(
[in] FunctionID functionId,
[in] ObjectID objectId);
매개 변수
functionId
[in] catch
블록을 포함하는 함수의 식별자입니다.
objectId
[in] 처리 중인 예외의 식별자입니다.
설명
ExceptionCatcherEnter
메서드는 catch 지점이 JIT(Just-In-Time) 컴파일러로 컴파일된 코드에 있는 경우에만 호출됩니다. 비관리 코드 또는 런타임의 내부 코드에서 catch되는 예외는 이 알림을 호출하지 않습니다. 가비지 수집이 ExceptionThrown
알림 이후에 개체를 이동했을 수 있으므로 objectId
값이 다시 전달됩니다.
스택이 가비지 수집을 허용하는 상태가 아닐 수 있으므로 이 메서드의 구현에서 프로파일러를 차단해서는 안 되며, 선점 가비지 수집을 사용할 수 없습니다. 프로파일러가 여기에서 차단되고 가비지 수집이 시도되면 이 콜백이 반환될 때까지 런타임이 차단됩니다.
이 메서드의 프로파일러 구현은 관리 코드를 호출하거나 어떤 방식으로든 관리형 메모리 할당을 발생시키지 않아야 합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: CorProf.idl, CorProf.h
라이브러리: CorGuids.lib
.NET Framework 버전: 2.0부터 사용 가능
참고 항목
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기