一、WMware WorkStation的配置

1、虚拟机的安装【略】

2、虚拟机里安装Windows系统【略】

3、虚拟机里Windows系统的配置

3.1将打印机设备移除

WMware(Win7 x32 x64)+WinDbg 双机调试配置

3.2添加串行端口

WMware(Win7 x32 x64)+WinDbg 双机调试配置

3.3创建调试模式

现在创建调试模式:

3.3.1、以管理员方式启动cmd命令行

3.3.2、然后执行下面的命令行

bcdedit /copy {current} /d Windows7-双机调试模式
bcdedit /timeout 10
(注意:“Windows7-双机调试模式”是系统启动是的选项卡名字,这个名字之间如果含有空格请在两端添加英语格式的双引号,然后设置开机选择进入方式的等待时间为10秒)

3.3.3、重启Win7 以双机调试模式启动

重新启动Windows7虚拟机,在开机时有选择如下界面,这个界面是让我们选择启动方式,其中“Windows7-双机调试模式”是我们刚增加的启动方式。选择这个启动方式并进入Window7虚拟机的系统
WMware(Win7 x32 x64)+WinDbg 双机调试配置

3.3.4、接下来在管理员模式启动cmd命令行执行以下命令行

①关闭强制数字签名

bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS

注意:关闭时使用

bcdedit -set loadoptions DENABLE_INTEGRITY_CHECKS

②开启系统测试模式

bcdedit /set testsigning on

注意:关闭时使用

bcdedit /set testsigning off

③开启调试功能

bcdedit /debug ON
bcdedit /bootdebug ON

3.3.5、查看我们的调试配置是否与预想的一致

bcdedit /dbgsettings

这里查看到的结果是这样的:
WMware(Win7 x32 x64)+WinDbg 双机调试配置

这表示使用串口的com_2进行通信,波特率是115200 bit/s
注意:debugport:2中的2是指使用Windows7虚拟机的串行端口COM2,baudrate:115200是指波特率为115200。另外,这些设置都可以在WINDOWS+R执行msconfig来使用图形化界面操作。

这里需要确认的是,vmware为windows7虚拟机添加的端口应当与此处的端口号一致,因为只有二者匹配了才能正确的建立调试的通信。
如果二者不一致,可以通过如下命令进行调整:

bcdedit /dbgsettings serial debugport:1 baudrate:115200

3.3.6、重新启动windows7虚拟机,选择调试模式选项卡并进入系统

此时的开机界面是这样的:
WMware(Win7 x32 x64)+WinDbg 双机调试配置

可以看到,第二个选项相比之前多了“[启用调试程序]”字样。

从现在开始,如果选择“Windows7-双机调试模式”进入系统,需要使用Windbg与之进行通信才行,否则系统启动时会由于出发调试中断等待Windbg连接,让Windbg使用“g”命令才能继续启动。

到目前为止,使用windbg进行调试Windows7虚拟机中Windows7虚拟机的设置已经OK,只需要在开机时选择“Windows7-双机调试模式”进入系统,然后等待Windbg的连接即可

因此,可以在此次关机后创建虚拟机的快照,方便以后的使用。


二、WinDbg的配置

1、WinDbg的安装【略】

2、WinDbg配置

2.1 启动方式

为了能够方便的打开windbg,应当设置windbg的快捷启动方式。因为这样,可以将命令行一并设置到快捷方式中,后续使windbg用双机调试Windows7时只需要双击此快捷方式就可以按照预先设置的命令行参数运行windbg。

将桌面上新产生的**快捷方式右键属性设置如下**:
WMware(Win7 x32 x64)+WinDbg 双机调试配置
将:

“C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe”

修改为:

“C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe” -b -k com:port=\.\pipe\com_2,baud=115200,pipe -y SRV*D:\VM\Win7(32)Symbols*http://msdl.microsoft.com/download/symbols

注意:

“C:\Program Files (x86)\Debugging Tools for Windows (x86)\windbg.exe”

是本快捷方式关联的windbg可执行文件的绝对路径。

\.\pipe\com_2

是虚拟机添加串行端口时使用的命名管道名称,这个要与之前Windows7虚拟机的设置一致。

-y SRV*D:\VM\Win7(32)Symbols*http://msdl.microsoft.com/download/symbols

D:\VM\Win7(32)Symbols是我们使用的符号文件默认保存位置,可以根据自己喜好进行设置。

设置完毕后,我们双机这个快捷方式,当弹出的窗口显示“Waiting to reconnect…”时,就开启Windows7虚拟机,并且在启动画面选择“Windows7-双机调试模式”

之后在Windows7虚拟机启动直到进入桌面的过程中windbg会有多次遇到int 3断点,只需要在windbg的命令栏输入“g“命令即让Windows7虚拟机继续启动,直到进入桌面
WMware(Win7 x32 x64)+WinDbg 双机调试配置

2.2 WinDbg执行以下命令

!sym noisy **详细符号加载(noisy symbol loading)显示。
给个示例:

2: kd> !sym noisy
noisy mode - symbol prompts on

.reload命令删除指定模块的所有符号信息,并且按需要重新加载这些符号。某些情况下,该命令也会重新加载或卸载模块本身。/f 强制调试器立即加载符号。该参数会覆盖延迟符号加载。更多信息,查看下面的注释节。

2: kd> .reload /f
WMware(Win7 x32 x64)+WinDbg 双机调试配置

2.3 测试是否成功加载符号文件

WMware(Win7 x32 x64)+WinDbg 双机调试配置

参考文章: 内核调试之双机调试环境的搭建.

相关文章: