异常记录分为:CPU异常记录与软件模拟异常记录
CPU异常记录例如: 除零
软件模拟异常记录例如: throw 1(c++)
CPU异常记录分析:
CPU异常后直接进入了0号中断
0号中断调用流程分析:
一丶保存当前的环境信息到Trap_Frame结构体(位于当前堆栈的位置)
二丶调用Ki386CheckDivideByZeroTrap判断是否是除零异常,(如果是就获取异常码)
三丶调用CommonDispatchException,保存异常信息到EXCEPTION_RECORD结构体(位于当前堆栈位置)
图片效果:
电脑没电了,明天再更新用户异常记录
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!