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부터 사용 가능
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET