WinDbg 双机调试(调试机为Windows10系统,被调试机为Windows7系统)

一、实验环境

  1. 调试机:Windows 10操作系统(我电脑上使用的系统);
  2. 被调试机:Windows 7操作系统(VMware中安装的系统);
  3. 调试工具:WinDbg(微软官网下载).

二、配置虚拟机的管道串口

  1. 安装好Windows 7 OS后先不要开机,选择【编辑虚拟机设置】,移除【打印机】(因为打印机占用了com_1端口,而我们之后要用到com_1端口)。
    在这里插入图片描述
    在这里插入图片描述
  2. 添加【串行端口】,在配置中选择【使用命名的管道】,输入\\.\pipe\com_1 ,第一个选择【该端是服务器】,另一个选择【另一端是应用程序】。勾选【轮询时主动放弃CPU】,点击【确定】。在这里插入图片描述

三、配置被调试机的管道串口

  1. 开启Windows 7,以管理员身份运行命令行,输入bcdedit /dbgsettings serial baudrate:115200 debugport:1 来设置端口com_1, baudrate为115200。
    在这里插入图片描述
  2. 输入bcdedit /copy {current} /d DebugEntry 来复制一个开机选项, 以进入OS的debug模式,记住此时的ID号
    在这里插入图片描述
  3. 输入bcdedit /displayorder {current} {e8a0ccf0-9748-11eb-950a-ce6045b926ac} 在引导菜单中增加一个新的选项。 (注意:这里的{e8a0ccf0-9748-11eb-950a-ce6045b926ac}要输入你自己上一步生成的ID号)在这里插入图片描述
  4. 输入bcdedit /debug {e8a0ccf0-9748-11eb-950a-ce6045b926ac} ON 来激活debug。 (这里的ID和上面的一样)
    在这里插入图片描述

四、配置WinDbg的管道串口

  1. 将WinDbg发送到桌面快捷方式,右击桌面上的快捷方式,点击【属性】,在目标中追加-b -k com:pipe,port=\\.\pipe\com_1,resets=0 (注意:如果之前的内容有双引号,要把追加内容放在双引号之后)
    在这里插入图片描述

五、下载符号表

  1. 设置一个名为_NT_SYMBOL_PATH的系统变量,变量值设为srv*d:\ctftools\symbols*http://msdl.microsoft.com/download/symbols ,其中*d:\ctftools\symbols*是缓存符号表的位置,可以自己更改。

在这里插入图片描述

六、调试

  1. 重新启动Windows 7 OS,开机时选择【DebugEntry】,同时打开WinDbg。
    在这里插入图片描述
  2. 此时,Windows 7 可能一直处于正在开机状态,这是因为WinDbg将OS设置了断点,在WinDbg中输入g或按F5键,OS系统就能正常开机。
    在这里插入图片描述
  3. 按住ctrl+break键可以再次对OS设置断点。

至此WinDbg 双机调试就大功告成了。

猜你喜欢

转载自blog.csdn.net/weixin_43790779/article/details/115873938