다음을 통해 공유


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된 스레드를 포함한 응용 프로그램 도메인을 나타내는 ICorDebugAppDomain 개체에 대한 포인터입니다.

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

  • pFrame
    [in] dwEventType 매개 변수에 따라 결정된 프레임을 나타내는 ICorDebugFrame 개체에 대한 포인터입니다. 자세한 내용은 설명 단원의 표를 참조하십시오.

  • 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 처리기의 시작 위치에 대한 MSIL(Microsoft Intermediate Language) 오프셋

DEBUG_EXCEPTION_UNHANDLED

NULL

정의되어 있지 않습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

참고 항목

참조

ICorDebugManagedCallback2 인터페이스

ICorDebugManagedCallback 인터페이스