今天刚好手边有一个系统蓝屏的dump文件,下面一步一步来找到出错的地方。
1.用windbg打开dump文件,设置好符号路径等。
已经基本确定了是哪个驱动引起的问题。
2.执行!analyze -v命令,
这时候会把出问题的地方指出来,并且会把栈信息也列出来,并指出是哪一行的代码有问题。
3.确认一下,可以先用kp命令查看一下函数的输入参数,再用dv /t /v命令查看一下局部变量,确认了就是那一行指针为空导致的问题。
Use !analyze -v to get detailed debugging information.
BugCheck 7F, {8, 0, 0, 0}
c0000005 Exception in ext.Analyze debugger extension. PC: 77c16fa3 VA: 01fe8000 R/W: 0 Parameter: 0001003f
2,关于调试窗口:view菜单下面有详细的列表:可以调出对应的窗口,默认的打开窗口是command窗口
3,基本调试命令:
r 可以显示系统崩溃时的寄存器,和最后的命令状态。
dd 显示当前内存地址,dd 参数:显示参数处的内存。
u 可以显示反汇编的指令
!analyze -v 显示分析的详细信息。
kb 显示call stack 内容
kv.bugcheck 可以显示出错的代码