SetUnhandledExceptionFilter捕获不到

only_youch 2009-10-22 04:25:45
在我的程序中,Instance函数中我调用了SetUnhandledExceptionFilter(MyExceptionFilter)函数,但运行时始终无法调用到MyExceptionFilter函数。经过在网上查询获知程序在加载某些dll时也会调用SetUnhandledExceptionFilter这个函数设置自己的捕获函数,因此我在加载dll的后面都加上了SetUnhandledExceptionFilter(MyExceptionFilter)函数,还是没解决。那我想问这样能否解决这个问题?或者还有其它什么解决方法没?我程序中加载的dll可能比较多,如何用hook的方法去做,可能会比较麻烦。大家有什么好的方法没?请赐教。
...全文
522 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
only_youch 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenyu2202863 的回复:]
切忌一点,你在调试器里面运行程序时不会捕获到的,只有单独运行才可以~
[/Quote]

OF COURSE I KNOW!
chenyu2202863 2009-10-22
  • 打赏
  • 举报
回复
切忌一点,你在调试器里面运行程序时不会捕获到的,只有单独运行才可以~
only_youch 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 only_youch 的回复:]
我这样写都没有截获到

::SetUnhandledExceptionFilter(MyUnhandledFilter);
int c, a = 0, b = 3;
c = b/a;

我在MyUnhandledFilter函数里面最开始显示一个messagebox出来
[/Quote]
现在这样的方式显示是正确了,但我要对其它我自己加载的DLL的地方进行::SetUnhandledExceptionFilter(MyUnhandledFilter);还比较容易,但如果是加载系统的DLL,即#import "msxml3.dll"这种方式,我该如何来调车我的SetUnhandledExceptionFilter呢?
only_youch 2009-10-22
  • 打赏
  • 举报
回复
我这样写都没有截获到

::SetUnhandledExceptionFilter(MyUnhandledFilter);
int c, a = 0, b = 3;
c = b/a;

我在MyUnhandledFilter函数里面最开始显示一个messagebox出来
MoXiaoRab 2009-10-22
  • 打赏
  • 举报
回复
你触发什么异常的?
MoXiaoRab 2009-10-22
  • 打赏
  • 举报
回复
有的错误SetUnhandledExceptionFilter时没法截获的,比如栈溢出

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧