다음을 통해 공유


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부터 사용 가능

참고 항목