本次使用将在 macos 环境下搭建 windbg 虚拟机双机调试环境,和 windows 调试略有区别,关于 windows 虚拟机双机调试可以看上一篇文章
实验环境
- 物理机:MacBoob+vmfusion 专业版 12.1.0
- 调试机:win10 x64+windbg preview
- 目标机器(被调试机):win7 x64
环境搭建
设置虚拟机串口,首先找到虚拟机所在包
选择机器右击在 finder 中打开(因为我这里截图按到了 command 键所以变成了打开最新的日志文件)
找到调试机器和目标机器右击显示包内容,找到对应的
虚拟机名.vmx
文件并打开调试机器设置
删除原有的包含 “serial0 “ 的配置行,替换为以下内容
1
2
3
4
5
6serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "/Users/{name}/com1"
serial0.yieldOnMsrRead = "TRUE"
serial0.tryNoRxLoss = "FALSE"
serial0.pipe.endPoint = "client"被调试机器
1
2
3
4
5serial0.fileName = "/Users/{name}/com1"
serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.yieldOnMsrRead = "TRUE"
serial0.startConnected = "TRUE"注意:这里 {name} 需要更换为自己的用户名,虚拟机处于关闭或挂起状态才可以修改该配置文件
被调试机设置开启串口,以管理员身份打开 cmd,执行以下命令
1
2
3
4
5
6
7bcdedit /enum ACTIVE
bcdedit /dbgsettings serial baudrate:115200 debugport:1
bcdedit /copy {current} /d "Windows Debug Entry"
bcdedit /displayorder {current} {上一行的id}
bcdedit /debug {上一行的id} ON
bcdedit -set TESTSIGNING on
bcdedit /dbgsettings命令执行完毕后,重启系统,开机时出现新的启动项即为正常
调试机器设置
计算机管理 -> 设备管理器 -> 端口 -> 通信端口 -> 端口设置
设置位/秒为 115200
打开 windbg preview
attach to kernel
注意此时被调试机处于开机选择启动项界面,选择 windows debug entry
之后就可以愉快的调试了