ICorDebugManagedCallback2::Exception 方法

通知调试器,已经开始搜索异常处理程序。

语法

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

参数

pAppDomain [in]指向 ICorDebugAppDomain 对象的指针,该对象表示包含引发异常的线程的应用程序域。

pThread [in]指向 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 引发异常的帧。 帧中的指令指针。
DEBUG_EXCEPTION_USER_FIRST_CHANCE 与引发的异常点最接近的用户代码帧。 帧中的指令指针。
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND 包含 catch 处理程序的帧。 catch 处理程序开头的公共中间语言 (CIL) 偏移量。
DEBUG_EXCEPTION_UNHANDLED Null 未定义。

要求

平台:请参阅系统要求

标头:CorDebug.idl、CorDebug.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

请参阅