读书人

跳过SEH的Crash,该如何解决

发布时间: 2012-10-26 10:30:59 作者: rapoo

跳过SEH的Crash
呃。。一般什么原因会导致程序跳过SEH直接崩掉?也就是跳过__except跟__finally,直接退出进程。

[解决办法]
堆栈严重破坏
[解决办法]
SEH不第一个响应不依赖堆栈, 响应链存储在堆栈中.
所以理论上堆栈破坏不会第一个响应.

不过从 VS2005开始 非法内存读写已经不能用 __try{}__except{}捕获了.
虽然还是SEH可捕获范围.
[解决办法]
x86的SEH是不依赖堆栈的。它使用的fs寄存器。
是不是你的异常处理程序不是顶层的SEH处理函数。

读书人网 >VC/MFC

热点推荐