通过Windbg利用VMware虚拟机进行双机调试

看《Windows核心编程》总是想把每一个细节都搞明白,所以调试内核是必不可少的,不想使用Win7下的本地内核调试。索性拿出《寒江独钓》配置一下虚拟机,双机调试XP系统吧。

WinDbg毕竟是微软支持的调试器,虽然OllyDbg也非常优秀,但是调试内核以及系统机制,还是一点点学习WinDbg的使用吧。

1.在VMware下安装纯净Win XP操作系统。

2.下载符合操作系统版本的WinDbg,进行安装。

3.设置虚拟机操作系统boot.ini文件,boot.ini文件是隐藏属性,需要设置一下文件夹选项。使用记事本打开后,在后面编辑,填入如下内容。(Win7系统设置请Google)

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Debug" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200


4.设置虚拟机的管道虚拟串口

1).运行 VMware ,点击"Edit virtual machine settings"

2).点击"Add"运行VMware的Hardware Wizard

3).选择"Serial Port",点"下一步"

4).选择"Output to named pipe",点"下一步"

5).保持第一框里默认的"\\.\pipe\com_1"

6).第二框里选"This end is the server."(不同VMware默认选项不同)

7).第三框里选"The other end is an application." 

8).勾选"Connect at power on"




5.设置WinDbg,建立桌面快捷方式,在查看属性中的目标项后添加如下运行参数。将此快捷方式命名为VMWinDbg用于双机调试。

C:\windbg\windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe


完成上述步骤,基本的设置就完成了,设置符号表就不赘述了,现在只需要在虚拟机系统启动时,选择启动调试程序。


在主机开启VMWinDbg,就能发现通过虚拟串口已经跟虚拟机系统连接上,能够进行内核调试了。



PS:如果还是无法调试,可以正常启动虚拟机(非调试),在设备管理器,对COM1串口进行“每秒位数项”的设置,设置为115200。


你可能感兴趣的:(通过Windbg利用VMware虚拟机进行双机调试)