Windows 调试工具入门WinDbg 内核调试配置- 1 -WinDbg内核调试配置内核调试主要用来调试驱动代码、分析内核结构等
WinDbg 通过两台电脑可以实现内核调试,其中一台电脑运行 WinDbg ,被称为主机;另外一台电脑运行被调试的程序或系统,被称为目标机
一般情况下两台电脑都是真实机器,这样调试最符合实际情况,两台电脑通过串口线、1394 线或USB 对联线连接起来实现双机内核调试
如果没有两台电脑,也可以用虚拟机来模拟目标机,主机上运行WinDbg ,虚拟机中安装Windows 运行被调试的程序,虚拟机通过模拟的串口输出为主机上的一个命名管道,从而和主机上的WinDbg 连接起来实现双机内核调试
除双机内核调试外,WindowsXP 后还引入了一种本机内核调试方式,只需要一台电脑,直接运行WinDbg 就能查看修改系统内核结构等,不过所有和中断目标机系统相关的命令都不能执行,如断点命令
如果采用虚拟机模拟目标机,调试响应速度有时候是个问题,比1394 线连接的真实双机调试速度要慢不少,特别是执行操作大量内存的命令时(如搜索内存命令),感觉非常明星
所以针对这种情况还会介绍一个特殊的辅助调试工具vmkd ,该工具可以大大加速内核调试的速度,为咱们带来不少方便
下面分节详细介绍各种内核调试情景下的配置,尽量每个步骤都截图说明
真实机双机内核调试真实机之间的内核调试首先需要准备连接线,可以用串口线、1394 线或者USB 对联线
串口线速度太慢,而且电脑城一般买不到可以直接使用的串口线,需要把线和接头买回来自己焊,按照WinDbg帮助中的说明交叉焊接,就能得到一根可用来调试的串口线
用串口线把两台电脑连接上后,先用Windows 自带的超级终端工具,选择好串口和波特率连接
如果在超级终端中按键能在另外一台电脑的超级终端上显示按键,则表示串口线连接成功