首页
社区
课程
招聘
[讨论]DBG_CONTINUE和DBG_EXCEPTION_HANDLED
发表于: 2018-8-3 09:33 4611

[讨论]DBG_CONTINUE和DBG_EXCEPTION_HANDLED

2018-8-3 09:33
4611
`

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-4-8 11:40 被PEDIY编辑 ,原因: l
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2018-8-3 19:49
0
雪    币: 775
活跃值: (2292)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3

https://msdn.microsoft.com/zh-cn/library/zazxh1a9.aspx

EXCEPTION_CONTINUE_SEARCH 异常无法识别。 继续向上搜索堆栈查找处理程序,首先是所在的 try-except 语句,然后是具有下一个最高优先级的处理程序。

EXCEPTION_CONTINUE_EXECUTION 异常可识别,但被关闭。 从出现异常的点继续执行。

EXCEPTION_EXECUTE_HANDLER 异常可识别。 通过执行 __except 复合语句来转移对异常处理程序的控制,然后在异常发生处继续执行。

哥们你问点问题能走点心吗 ???!!

最后于 2018-8-3 21:22 被AperOdry编辑 ,原因:
2018-8-3 21:21
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
AperOdry https://msdn.microsoft.com/zh-cn/library/zazxh1a9.aspxEXCEPTION_CONTINUE_SEARCH 异常无法识别。& ...

这个是veh和seh的,网上到处都是。我问的是调试器中的DBG_EXCEPTION_HANDLED。你在vs里把这个宏打出来就知道了。它经常作为这个函数最后一个参数:

ContinueDebugEvent(debug_event.dwProcessId,debug_event.dwThreadId,DBG_CONTINUE)。
2018-8-3 23:16
0
雪    币: 775
活跃值: (2292)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5


DBG_CONTINUE 表示已处理异常,继续执行在异常代码
DBG_EXCEPTION_NOT_HANDLED 表示未处理异常,交给下一级的异常处理也就是 VEH注册的handler
至于 DBG_EXCEPTION_HANDLED ,应该是泛定义 ,也就是 DBG_CONTINUE 和 DBG_EXCEPTION_NOT_HANDLED
硬断的异常是 STATUS_SINGLE_STEP ,所以中断在下一条代码。
2018-8-3 23:49
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
CONTINUE  一般是调用 NtContinue 继续执行 NOT handled  异常会继续往往下派发  Handled 表示异常处理完毕
2018-8-4 01:02
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
小艾 CONTINUE 一般是调用 NtContinue 继续执行 NOT handled 异常会继续往往下派发 Handled 表示异常处理完毕
异常处理完毕不继续执行吗?
2018-8-4 08:05
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
3Q。

最后于 2018-9-16 21:09 被PEDIY编辑 ,原因:
2018-8-4 08:25
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
3Q。

最后于 2018-9-16 21:09 被PEDIY编辑 ,原因:
2018-8-4 08:25
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
BeholdSnow 异常处理完毕不继续执行吗?
也可能退出线程 这个看逻辑
2018-8-6 17:55
0
雪    币: 1825
活跃值: (5354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
AperOdry DBG_CONTINUE 表示已处理异常,继续执行在异常代码 DBG_EXCEPTION_NOT_HANDLED 表示未处理异常,交给下一级的异常处理也就是 VEH注册的handler 至 ...
前辈,再次遇到这个问题,DBG_EXCEPTION_HANDLED和DBG_EXCEPTION_NOT_HANDLED不是反义词吗?你说前者是后者的泛定义,我现在仍然没搞明白。还有,DBG_CONTINUE也会再向下级传递异常信息?那样岂不是和DBG_EXCEPTION_NOT_HANDLED一样了吗?相当于没有处理?
2019-4-7 15:22
0
游客
登录 | 注册 方可回帖
返回
//