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