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 处理程序开头的 Microsoft 中间语言 (MSIL) 偏移量。

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 接口