macos 环境下搭建 windbg 虚拟机双机调试环境

本次使用将在 macos 环境下搭建 windbg 虚拟机双机调试环境,和 windows 调试略有区别,关于 windows 虚拟机双机调试可以看上一篇文章

实验环境

  • 物理机:MacBoob+vmfusion 专业版 12.1.0
  • 调试机:win10 x64+windbg preview
  • 目标机器(被调试机):win7 x64

环境搭建

  1. 设置虚拟机串口,首先找到虚拟机所在包

    选择机器右击在 finder 中打开(因为我这里截图按到了 command 键所以变成了打开最新的日志文件)

    截屏2022-09-19 11.37.35

    找到调试机器和目标机器右击显示包内容,找到对应的虚拟机名.vmx文件并打开

    调试机器设置

    删除原有的包含 “serial0 “ 的配置行,替换为以下内容

    1
    2
    3
    4
    5
    6
    serial0.present = "TRUE"
    serial0.fileType = "pipe"
    serial0.fileName = "/Users/{name}/com1"
    serial0.yieldOnMsrRead = "TRUE"
    serial0.tryNoRxLoss = "FALSE"
    serial0.pipe.endPoint = "client"

    被调试机器

    1
    2
    3
    4
    5
    serial0.fileName = "/Users/{name}/com1"
    serial0.present = "TRUE"
    serial0.fileType = "pipe"
    serial0.yieldOnMsrRead = "TRUE"
    serial0.startConnected = "TRUE"

    注意:这里 {name} 需要更换为自己的用户名,虚拟机处于关闭或挂起状态才可以修改该配置文件

  2. 被调试机设置开启串口,以管理员身份打开 cmd,执行以下命令

    1
    2
    3
    4
    5
    6
    7
    bcdedit /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

    截屏2022-09-19 12.21.32

    截屏2022-09-19 12.22.58

    命令执行完毕后,重启系统,开机时出现新的启动项即为正常

    截屏2022-09-19 16.50.36

  3. 调试机器设置

    计算机管理 -> 设备管理器 -> 端口 -> 通信端口 -> 端口设置

    设置位/秒为 115200

    截屏2022-09-19 12.27.19

  4. 打开 windbg preview

    attach to kernel

    截屏2022-09-19 12.29.59

    注意此时被调试机处于开机选择启动项界面,选择 windows debug entry

    截屏2022-09-19 16.52.26

之后就可以愉快的调试了