【发布时间】:2010-08-12 17:05:07
【问题描述】:
我试图编写一个代码来处理异常,但是覆盖了另一个异常处理程序,这可能吗?
我在asm 中开发了一个.exe 来调试.dll,并检测一些引发的异常(访问冲突),但.dll 有自己的异常处理,所以正常的SEH 不应该工作.
我想知道是否有任何类型的全局异常处理程序可以覆盖这些现有的处理程序?
【问题讨论】:
标签: windows assembly exception-handling x86
我试图编写一个代码来处理异常,但是覆盖了另一个异常处理程序,这可能吗?
我在asm 中开发了一个.exe 来调试.dll,并检测一些引发的异常(访问冲突),但.dll 有自己的异常处理,所以正常的SEH 不应该工作.
我想知道是否有任何类型的全局异常处理程序可以覆盖这些现有的处理程序?
【问题讨论】:
标签: windows assembly exception-handling x86
看看向量异常处理 (http://msdn.microsoft.com/en-us/library/ms681420.aspx)。该页面指出“应用程序可以注册一个函数来监视或处理应用程序的所有异常。向量处理程序不是基于帧的,因此,您可以添加一个无论您在调用框架中的哪个位置都将调用的处理程序。向量化处理程序按照它们被添加的顺序被调用,在调试器收到第一次机会通知之后,但在系统开始展开堆栈之前。"
【讨论】: