首页 > 代码库 > Win10双击调试 转载 http://blog.csdn.net/sagittarius_warrior/article/details/51305046

Win10双击调试 转载 http://blog.csdn.net/sagittarius_warrior/article/details/51305046

 
本文章已收录于:
 
<style>.embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed } .embody_b { margin: 0; padding: 10px 0 } .embody .embody_t,.embody .embody_c { display: inline-block; margin-right: 10px } .embody_t { font-size: 12px; color: #999 } .embody_c { font-size: 12px } .embody_c img,.embody_c em { display: inline-block; vertical-align: middle } .embody_c img { width: 30px; height: 30px } .embody_c em { margin: 0 20px 0 10px; color: #333; font-style: normal }</style>
        本文主要介绍在win10下如何设置windbg+vmware,以进行双机调试。本文主要参考:李Sir的博客,并浏览了大量网文,以及windbg自带的help文档和MSDN,除了综合各家的经验外,也分享了本人在实践遇到的问题和解决办法。

一、安装环境

1,主机(Host OS): win10 X64

2,Windbg:10.0.10586.567 ADM64(本人安装的是wdk10+VS2015)

3,VMWare:11.0.0

4,Guest OS:win7 X64

 

二、虚拟机配置

1,打开相应的虚拟机,选择“编辑虚拟机设置”,打开虚拟机设置对话框,如下

技术分享

 

2,观察“虚拟机设置”这个对话框的“硬件”->“设备栏”,看看是否有“打印机”或“Printer”,如果有,则删除该设备。

3,选择“添加”,然后选择“串行端口”,然后选择“使用命名管道”,并按如下设置

技术分享

注:

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了。”

 

三、Windbg的设置

1,在桌面上添加一个windbg的快捷方式;

2,右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”。

技术分享

注:李sir的博客就是这么设置的,但我通过这种方法去打开windbg(右键“管理员方式打开”),一直是“Debuggee not connected”。偶然尝试了下,如下设置,解决了这个问题:

3,在“快捷方式”tab中,选择“高级”,勾选“用管理员身份运行”。

技术分享

 

四、GeustOS设置(该部分完全同“李sir的博客”)

1,以管理身份打开“cmd”。

2,输入“bcdedit”

技术分享

3,设置端口1,命令如下:

bcdedit /dbgsettings serial baudrate:115200 debugport:1

该处的“1”,对应com口1。

 

4,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:

bcdedit /copy {current} /d DebugEntry

 

 

5,增加一个开机引导项

bcdedit /displayorder {current} {ID}

注:这个ID要填写上一条命令生成的一串数字或字母。

 

 

6,激活debug

bcdedit /debug {ID} ON

注:ID以生成的数字或字母串代替。

 

 

7,重启虚拟机,选择“DebugEntry[debug]”作为启动项。

 

8,选择好启动项后,立即回到主机,启动windbg。只有在GuestOS启动过程中,才能连接上。

////////////////////////////////////////////////////////////////////////////////////////////////

以下内容属于本人补充,可参考

当同一个windbg 调试不同的系统,可以使用快捷方式带参数的类型,为需要的系统提供一个快捷方式,添加相应的启动参数。

  例如上文所述的:右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k  com:pipe,port=\\.\pipe\com_1,resets=0”。 便是

调试单个系统也可以在File->Kernel Debug->Com面板中选 : 如下图其中Band Rate 和 Port 要与 虚拟机串行端口设置的相同。

顺便一提:符号设置 SRV*你本地的路径* http://msdl.microsoft.com/download/symbols

////////////////////////////////////////////////////////////////////////////////////////////

完了

Win10双击调试 转载 http://blog.csdn.net/sagittarius_warrior/article/details/51305046