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



看《Windows核心编程》总是想把每一个细节都搞明白,所以调试内核是必不可少的,
不想使用Win7下的本地内核调试。索性拿出《寒江独钓》配置一下虚拟机,双机调试XP系统吧。
WinDbg毕竟是微软支持的调试器,虽然OllyDbg也非常优秀,但是调试内核以及系统机制,
还是一点点学习WinDbg的使用吧。  www.2cto.com  
1.在VMware下安装纯净Win XP操作系统。
2.下载符合操作系统版本的WinDbg(http://msdn.microsoft.com/en-us/windows/hardware/
gg463009.aspx),进行安装。
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用于双机调试。  www.2cto.com  
C:\windbg\windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

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

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

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


 
 
作者 revfish

相关内容

    暂无相关文章