首页
社区
课程
招聘
[原创]异常处理之异常处理流程原理总结(图文并茂)
发表于: 2019-2-4 17:24 5869

[原创]异常处理之异常处理流程原理总结(图文并茂)

2019-2-4 17:24
5869

今天我给大家总结一下异常处理的流程,内容很简单,形式主要是以框图+文字说明,逻辑清晰明了,个人的一些学习总结,希望能对大家有所收益。不多说,我们直接看下文。

我们可以把这个框图分为两部分解释:左半边的对象一般是软件调试人员,右半边的对象一般是软件开发人员(安装SEH)。用户也属于右边,当用户在运行此程序时,遇到一个异常,如果软件开发人员在设计的时候安装了处理此异常的SEH(需要开发人员自己写,自己安装,不是自带的),则可以进行相应的处理。系统默认异常处理流程则是最后一道防线,在所有的SEH都不起作用时,则会运行此程序,如果解不了,就会报出相应的错误提示(例如:MessageBox弹窗),甚至终止服务(这一点大家平常应该都有体会)。以上只是一些简单的描述,要想理解具体的每一步过程,还需弄懂此框图,下面也有文字说明,以免此图表述不清,结合文字,好好体会

①系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,没安装,调用系统默认异常处理。
②系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,是,正常服务。
③系统引发一个异常,现处于调试状态,转交给调试器处理,调试器忽略异常,检查是否安装SEH,已安装,是否解决了此异常,否,调用系统默认异常处理。
④系统引发一个异常,现处于调试状态,转交给调试器处理,调试器不忽略异常,调用系统默认异常处理。
⑤系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,是,正常服务。
⑥系统引发一个异常,处于非调试状态,检查是否安装SEH,未安装,调用系统默认异常处理。
⑦系统引发一个异常,处于非调试状态,检查是否安装SEH,已安装,让SEH处理,是否解决此异常,否,调用系统默认异常处理。

补充:上述的调试器是否忽略异常,则在此处设置。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  junkboy   +1.00 2019/02/05 感谢分享~
最新回复 (7)
雪    币: 3136
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
謝分享
2019-2-4 17:29
0
雪    币: 12502
活跃值: (3058)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
谢谢分享。
2019-2-4 22:15
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
系统默认异常处理是啥
2019-2-9 10:41
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
5
killpy 系统默认异常处理是啥
顶层异常处理 以及通知csrss 结束进程之类的
2019-2-9 12:24
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
hzqst 顶层异常处理 以及通知csrss 结束进程之类的
我记得好像有个二次 询问 
2019-2-11 08:13
0
雪    币: 351
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
2019-2-11 16:02
0
雪    币: 136
活跃值: (342)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
二次分发以后,调用默认处理
2019-2-17 05:44
0
游客
登录 | 注册 方可回帖
返回
//