ICorDebugManagedCallback2::Exception 메서드

예외 처리기에 대한 검색이 시작되었음을 디버거에 알립니다.

구문

HRESULT Exception (
    [in] ICorDebugAppDomain   *pAppDomain,
    [in] ICorDebugThread      *pThread,
    [in] ICorDebugFrame       *pFrame,
    [in] ULONG32              nOffset,
    [in] CorDebugExceptionCallbackType dwEventType,
    [in] DWORD                dwFlags
);

매개 변수

pAppDomain[in] 예외가 throw된 스레드를 포함하는 기본 애플리케이션을 나타내는 ICorDebugAppDo기본 개체에 대한 포인터입니다.

pThread [in] 예외가 throw된 스레드를 나타내는 ICorDebugThread 개체에 대한 포인터입니다.

pFrame [in] 매개 변수에 의해 결정되는 프레임을 나타내는 ICorDebugFrame 개체에 대한 dwEventType 포인터입니다. 자세한 내용은 설명 섹션의 표를 참조하세요.

nOffset [in] 매개 변수에 의해 결정되는 오프셋을 지정하는 정수입니다 dwEventType . 자세한 내용은 설명 섹션의 표를 참조하세요.

dwEventType [in] 이 예외 콜백의 형식을 지정하는 CorDebugExceptionCallbackType 열거형의 값입니다.

dwFlags [in] 예외에 대한 추가 정보를 지정하는 CorDebugExceptionFlags 열거형의 값입니다.

설명

Exception 콜백은 예외 처리 프로세스의 검색 단계 중 다양한 지점에서 호출됩니다. 즉, 예외를 해제하는 동안 두 번 이상 호출될 수 있습니다.

처리 중인 예외는 pThread 매개 변수가 참조하는 ICorDebugThread 개체에서 검색할 수 있습니다.

특정 프레임 및 오프셋은 다음과 같이 dwEventType 매개 변수에 의해 결정됩니다.

dwEventType의 값 pFrame의 값 nOffset의 값
DEBUG_EXCEPTION_FIRST_CHANCE 예외가 throw된 프레임입니다. 프레임의 명령 포인터입니다.
DEBUG_EXCEPTION_USER_FIRST_CHANCE throw된 예외 지점에 가장 가까운 사용자 코드 프레임입니다. 프레임의 명령 포인터입니다.
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND catch 처리기가 포함된 프레임입니다. catch 처리기 시작 부분의 CIL(공용 중간 언어) 오프셋입니다.
DEBUG_EXCEPTION_UNHANDLED NULL Undefined.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 2.0부터 사용 가능

참고 항목