快速分析win7系统双机调试的处理方式

方砖大叔 发表于2019-12-23 03:30
浏览次数:
在手机上阅读
此文章约为2256字,阅读需要6 分钟
随着电脑的使用率越来越高,我们有时候可能会遇到对win7系统双机调试进行设置,如果我们需要对win7系统双机调试进行设置时,要怎么处理win7系统双机调试的设置方法非常简单,只需要一、配置VMware的管道虚拟串口 二、配置GuestOS的启动项就搞定了;接下来给大家带来win7系统双机调试具体的设置方法:

环境:

主机:Win7

虚拟机:VMware 11.1.0 build-2496824

虚拟机内操作系统(又称GuestOS):Win7

WinDbg:适合调试机的相应位数的版本就可以。

目录

本文包括五部分,前三部份不分先后顺序,先配置哪部分都可以:

一、配置VMware的管道虚拟串口

二、配置GuestOS的启动项

三、配置WinDbg

四、调试

五、常见问题

一、配置VMware的管道虚拟串口

调试机与被调试机用串口连接,但是在被调试机是虚拟机的情况下,就不可能用真正的串口来连接了,但是可以在虚拟机上生成一个用管道虚拟的串口。

设置步骤如下:

1、虚拟机关闭状态下,选择编辑虚拟机设置。

win7系统如何进行双机调试?

2、选择硬件选项卡,移除打印机,因为打印机占了一个串口,如果不删除则需要使用COM_2作为命名管道。

win7系统如何进行双机调试?

3、添加一个串行端口。

3.1、点击添加按钮,在弹出窗口,选择串行端口,单击”下一步“按钮。

win7系统如何进行双机调试?

3.2、选择输出到命名管道,单击”下一步“按钮。

win7系统如何进行双机调试?

3.3、如下设置,单击”完成“按钮。

命名管道输入:\\.\pipe\com_1

该端是服务器。

另一端是应用程序。

勾上启动时连接。

win7系统如何进行双机调试?

3.4、回到如下界面,勾选I/O模式,轮询时主动放弃 cpu(Y),点击”确定“按钮。<我测试的勾上和不勾上,都可以,不知道区别,那就勾上吧。>



win7系统如何进行双机调试?

二、配置GuestOS的启动项

开启虚拟机,进入系统,配置GuestOS Win7系统的启动项。

1、以管理员身份运行cmd

win7系统如何进行双机调试?

2、键入bcdedit命令,查看当前启动项,输出如下:

win7系统如何进行双机调试?

刚刚安装的,一般只有一个标识为{current}的启动加载器是当前的启动配置。

3、建立一个新的启动项。

bcdedit /copy {current} /d "Windwos7"

win7系统如何进行双机调试?

4、设置新的启动项。

bcdedit /debug ON

bcdedit /bootdebug ON

win7系统如何进行双机调试?

5、查看当前的调试配置:

bcdedit /dbgsettings

win7系统如何进行双机调试?

一般来说,会显示出使用的第一个串口,波特率为115200bps,和期望的一致,不需要修改。

6、选择菜单的超时,我设置为10秒:

bcdedit /timeout 10

win7系统如何进行双机调试?

7、重新启动,当需要调试时就用调试模式进入。

win7系统如何进行双机调试?

三、配置WinDbg。

WinDbg安装在调试机上,下载安装与调试机位数相同的WinDbg。

1、设置WinDbg的启动参数,使之连接一个管道,并把这个管道当作一个串口来处理。

调试机上WinDbg的启动参数,使之连接一个管道,并把这个管道当做一个串口来处理:

方法一:cmd窗口中,在windbg.exe所在路径下执行,windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

方法二:桌面上建立一个windbg.exe快捷方式,单击右键并选择属性,在快捷方式中,在“目标”中的".....windbg.exe"后面增加前面的启动参数。注意:windbg.exe的全路径一般是双引号引住的,但是后面的命令行参数应该放在引号外。

详细操作如下:

1.1、命令行方式

在WindDbg.exe路径执行命令。

(1)、输入命令:cd C:\Program Files (x86)\Debugging Tools for Windows (x86)

win7系统如何进行双机调试?

(2)、输入命令:Windbg.exe -b -k com:port=\\.\pipe\com_1,baud=115200,pipe。

win7系统如何进行双机调试?
1.2、快捷键方式

建立一个WinDbg的快捷方式,修改其目标,步骤如下:

(1)、开始,程序,选择WinDbg,右键,选择属性。

win7系统如何进行双机调试?

(2)、目标,双引号括着的是WinDbg.exe完全路径,右侧双引号后面添加一个空格和参数 -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

win7系统如何进行双机调试?

(3)、添加桌面快捷方式,以后就不用每次都配置了。

win7系统如何进行双机调试?

2、为了能实现源代码调试,必须设置符号文件路径和源文件路径。

2.1、Symbol File Path(设置符号路径) 

符号路径可以有多个,中间用分号分隔。

windbg有一个强大的功能,可以自动到Microsoft的服务器上下载符号文件。但是需要在符号路径下做一下设置:

win7系统如何进行双机调试?

路径srv*c:\symbols*http://msdl.microsoft.com/download/symbols中

c:\symbols为本地目录,从服务器下载的符号会存储在此目录中,你可以设置为你想存放的目录中。http://msdl.microsoft.com/download/symbols为服务器路径。如果相关符号表没有在本地目录系找到的话,就会自动在指定的服务器下载。分号后面添加自定义驱动模块的符号文件的路径。

2.2、Source File Path(设置源码路径)

设置要调试的源码所在路径即可。

四、调试

以上三步,一、配置VMware的管道虚拟串口,二、配置GuestOS的启动项,三、配置WinDbg均设置完成后,打开虚拟机,启动到调试模式下的Windows之后,通过命令行或快捷方式打开WinDbg,就可以开始调试了。WinDbg.exe会显示连接上的信息。

断点弹出后,就可以设置新的断点,同时可以打开Watch窗口观察和修改所有变量的值。设置断点、单步进入和单步前进等操作都和VC是一样的。

常用操作:

1、在kd>后输入g后按回车键,能使中断的程序继续执行。

2、选择菜单"Debug->Break"使当前被调试系统中断下来。这是设置断点的前提条件。

3、将光标移动到代码某一行上按下F9键设置一个断点。请注意设置断点之前,系统必须已经中断;否则无法设置和修改断点。此外,再按一次F9键可以取消断点。
 

4、按F10单步前进。遇到函数时(call指令),不会进入函数内部,而是继续函数返回后的执行。

5、按F11键单步进入。遇到函数时(call指令),进入函数内部继续单步执行。

win7系统如何进行双机调试?win7系统如何进行双机调试?
win7系统如何进行双机调试?

五、常见问题

1、Could not start kernel debugging using com:port=\\.\pipe\com_1,baud=11520,pipe parmeters,win32 error On2系统找不到指定的文件

检查一下设置,尤其注意以下三点:

(1)、虚拟机右下角,串口灯要是亮的,不是灰色的。

win7系统如何进行双机调试?

(2)、主机COM1设置是否正确。


win7系统如何进行双机调试?

3)、系统启动项选择debug模式启动。

win7系统如何进行双机调试?

2、虚拟机启动完成后,打开WinDbg后,被调试机就像死机,没有反应。

在WinDbg中,kd> 多次输入g回车,直到变成Debuggee is running...时,被调试机就可以正常操作了。

win7系统如何进行双机调试?

win7系统如何进行双机调试?

以上就是win7系统双机调试的操作,有需要的用户可以参照上述方法,希望今天的分享能大家带来帮助。

关于win7系统双机调试的操作方法就给大家介绍到这边了,小伙伴们都学会了吗?小编就讲解到这里了,我们下期再会!

423 个用户觉得很有用

uc电脑园提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失。

如此好文,分享给朋友

图片来源:网络

大家正在看
知名iT专家-方砖大叔
方砖大叔
知名iT专家
48842篇文章 获得1710.12万个赞
展开导航
关注我们 微信公众号:uc电脑园
uc电脑园微信公众号
一对一的电脑安装,系统服务支持
发表评论
验证码:
评论列表
共0条