欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VirtualKD + WinDeg + VirtualBox 双机联调

程序员文章站 2022-05-27 09:22:31
...

双机联调

软件准备

  • windbg.msi
  • VirtualKD-3.0.exe
  • VirtualBOX 5.0版本或更新的版本

安装步骤(必须严格按步骤来)

  • 步骤1 下载VirtualKD, 获取到VirtualKD, 并关闭VirtualBox所有进程(一定要记得关闭!
  • 步骤2 运行VirtualKD目录下的VirtualBoxIntegration.exe, 点击“Enable” 允许你要调试的VM机器
    VirtualKD + WinDeg + VirtualBox 双机联调

如果VirtualBoxIntegration.exe不能运行,则我们通过命令行手动完成这个操作
  • I. 将VirtualKD目录下的kdclient.dll(这是给32位VirtualBox使用的)和 kdclient64.dll (这是给32位VirtualBox使用的)的所有者是设置为SYSTEM(必须设置成所有者)
    VirtualKD + WinDeg + VirtualBox 双机联调
  • II. 进入VirtualBox的安装目录
  • III. 在该目录打开命令提示符,使用以下的命令来“Enable”你要调试的VM机器

    boxmanage setextradata <VM NAME>
    VBoxInternal/Devices/VirtualKD/0/Config/Path
    <directory with kdclient DLL>
    • <VM NAME> 是要调试的VM的名称
    • <directory with kdclient DLL>的目录路径在VirtualKD目录下

    VirtualKD + WinDeg + VirtualBox 双机联调


  • 步骤3 运行VirtualBox,启动你要调试的VM机器,并将VirtualKD目录下的target/vminstall.exe复制到你的VM机器
  • 步骤4 在VM机器中运行vminstall.exe

VirtualKD + WinDeg + VirtualBox 双机联调

注意: 如果你使用的是Windows 10 或者更新的系统版本,确保“Replace kdcom.dll”选项被勾上较低版本的windows可能不需要勾选

  • 步骤5 如果正常安装了,Windows将在启动过程开始时暂停,等待调试器连接

VirtualKD + WinDeg + VirtualBox 双机联调

  • 步骤6 切换回vmmon窗口,您应该在列表中看到你的VM的“OS”列应指示“yes”

VirtualKD + WinDeg + VirtualBox 双机联调

  • 步骤7 点击“Run debugger”按钮,WinDbg就会启动(如果没设置WinDbg路径,点击“Debugger Path”来设置路径)

VirtualKD + WinDeg + VirtualBox 双机联调

  • 步骤8 然后按f5等待系统启动即可

不严格按步骤来操作导致的可能情况

1. 虚拟机安装完VirtualKD-3.0\target\vminstall.exe后,选择系统出错Windows7[VirtualKD] [启用调试程序]启动崩溃

VirtualKD + WinDeg + VirtualBox 双机联调

出现这种情况的时候说明在安装VirtualBox的过程顺序不对或者操作不对!!, 通过一次正常启动,再重启即可解决

  • 原因可能是没有将VirtualKD目录下的kdclient.dll(这是给32位VirtualBox使用的)和 kdclient64.dll (这是给32位VirtualBox使用的)的所有者是设置为SYSTEM(必须设置成所有者)

2. 没有崩溃,但是连不上virtualKD

VirtualKD + WinDeg + VirtualBox 双机联调

  • 这种情况是因为先在虚拟机上运行了vminstall.exe, 而没有先使用VirtualBoxIntegration.exe,“Enable” 允许你要调试的VM机器

3. cannot create KDBAZIS.DLL; 拒绝访问

  • 不要勾选Replace kdcom.dll 即可
    VirtualKD + WinDeg + VirtualBox 双机联调
相关标签: 调试