本文主要介绍在win10下如何设置windbg+vmware,以进行双机调试。本文主要参考:李Sir的博客,并浏览了大量网文,以及windbg自带的help文档和MSDN,除了综合各家的经验外,也分享了本人在实践遇到的问题和解决办法。html
1、安装环境git
1,主机(Host OS): win10 X64windows
2,Windbg:10.0.10586.567 ADM64(本人安装的是wdk10+VS2015)app
3,VMWare:11.0.0spa
4,Guest OS:win7 X64.net
2、虚拟机配置debug
1,打开相应的虚拟机,选择“编辑虚拟机设置”,打开虚拟机设置对话框,以下3d
2,观察“虚拟机设置”这个对话框的“硬件”->“设备栏”,看看是否有“打印机”或“Printer”,若是有,则删除该设备。调试
3,选择“添加”,而后选择“串行端口”,而后选择“使用命名管道”,并按以下设置htm
注:
1)使用命名管道,名字默认便可。
2)另外一端选应用程序,即连接windbg。
3)IO模式,可选可不选。
4)完成后,须要确认一下新增的设备是“com1”(若是是中文界面,显示“串行端口”)。为对比,非com1时,显示“串行端口2”。
若是在这个地方,COM口编号不对,后续打开windbg,会显示“debuggee not connected”。附网上关于该问题的解决方案:
“- -我也遇到了这个问题,刚解决。
你在Edit virtual machine settings里看下你那个串口是否是叫Serial port 2,若是是,问题就在这里,就是多了那个2。你把这个串口删掉,而后把那个printer也删掉,而后从新添加一个串口就能够了,这个时候串口就叫Serial port了。”
3、Windbg的设置
1,在桌面上添加一个windbg的快捷方式;
2,右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”。
注:李sir的博客就是这么设置的,但我经过这种方法去打开windbg(右键“管理员方式打开”),一直是“Debuggee not connected”。偶然尝试了下,以下设置,解决了这个问题:
3,在“快捷方式”tab中,选择“高级”,勾选“用管理员身份运行”。
4、GeustOS设置(该部分彻底同“李sir的博客”)
1,以管理身份打开“cmd”。
2,输入“bcdedit”
3,设置端口1,命令以下:
[cpp] view plain copy
该处的“1”,对应com口1。
4,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令以下:
[cpp] view plain copy
5,增长一个开机引导项
[cpp] view plain copy
注:这个ID要填写上一条命令生成的一串数字或字母。
6,激活debug
[cpp] view plain copy
注:ID以生成的数字或字母串代替。
7,重启虚拟机,选择“DebugEntry[debug]”做为启动项。
8,选择好启动项后,当即回到主机,启动windbg。只有在GuestOS启动过程当中,才能链接上。
cmd 敲入 g 继续执行,或使用菜单继续会自动敲入 g