如何分析驱动蓝屏

第一步,有些通过查看蓝屏代码信息即可大致定位出导致蓝屏的代码的位置。因为很多蓝屏代码的参数里都会记录有发生蓝屏时引用的内存位址,譬如:
计算机已经在检测错误后重新启动。检测错误: 0x0000001e (0xc0000005, 0xf7ce8bad, 0x00000000, 0x00e2ddd0).
这里参数0xf7ce8bad即指向了引起例外的代码位置,通过对照系统内核驱动加载地址表,可找到引起该例外的驱动名,然后再根据PE结构内存映射文件的原理,反编译驱动代码后就可从相应的偏移处找到导致蓝屏的驱动程序代码位置。

第二步,对于没有在蓝屏代码的参数里直接指明引用位址的分析,就要通过保存下的DUMP文件来进行调试分析了,譬如:
计算机已经在检测错误后重新启动。检测错误: 0x0000000a (0x0000002c, 0x00000002, 0x00000000, 0x80441a1e)
调试工具可选用Microsoft的Windbg,调试时需要使用对应DUMP系统的符号文件,调试步骤网上有很多详细的介绍,通过一步步的stack trace,就可以找到引起蓝屏的代码位置了。如果需要进行详细的调试,最好不要采用Minidump,而要设置成完全内存转储。

第三步,对于经常发生蓝屏重启的情况,直接使用softice进行动态调试是最简单有效的方法了,在系统里安装上softice以后,如果系统产生了例外,会直接被 softice截获,使用它提供的强大命令体系找出罪魁祸首应该是不成问题的,当然这需要在关机过程中发生蓝屏时softice的驱动还没被卸载掉,否则就需要使用双机进行远程调试了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值