다음을 통해 공유


ICorDebugManagedCallback2::Exception 메서드

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

Syntax

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] 매개 변수에 의해 결정되는 프레임을 나타내는 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 없음 정의.

요구 사항

플랫폼:.NET 지원 운영 체제를 참조하세요.

머리글: CorDebug.idl, CorDebug.h

도서관: CorGuids.lib

.NET 버전: .NET Framework 2.0 이후 사용 가능

참고하십시오