配置调试环境
首先当然是下载适当的WinDbg(32bit)工具和操作系统symbol档(Windows XP SP2 CHECKED,很大)。
由于是Kernel mode debug,采用双机模式(HOST/TARGET),采用Null-Modem cable连接,115200bps,土是土了一点啦:p
在HOST端
先安装symbol档,再安装WinDbg工具,记得copy自己的source code和debug版本driver;
在WinDbg的File菜单里的Symbol File Path... ,Source File Path... 和Image File Path...指定相应的文件路径。
在WinDbg的File菜单里的Kernel debug... 中的COM栏,按确定即可。
在TARGET端
操作系统要和symbol档对应,即Windows XP SP2;
再安装WinDbg工具,并且完成配置,修改boot.ini文件,增加例如下面的选项:
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Windows XP DeBug" /fastdetect /debug /debugport=COM1 /baudrate=115200
Date: 04/09/2007
*Vista及其以后版本,配置则不同
重新启动,即可生效。
命令小节
常用命令
bp 下断点.
bc 清除断点.
bd 暂时禁止断点.
be 允许执行被禁止的断点.
.reboot 重新启动Target computer
另类命令!drvobj
!devobj
!devext
!podev
!devstack
!irp 显示irp数据结构中的内容.
dt 其实这个命令的使用效率并不高,我把它列出来的原因是因为有一个关于
它的一个窍门,比如说我想查看一个数据结构的成员,我可以用如下的命令:
dt –v –r ntdll!_FIEL_OBJECT,我们可以使用该命令查看大部分的数据