主机中 打开WinDbg Preview File Attach to kernel
COM 虚拟串口方式连接,调试器反应极其卡顿,可能由于虚拟机为复制的虚拟机,用iso文件创建新的虚拟机,即可解决该问题
如果遇到 WinDbg Preview 看不到寄存器、局部变量、Watch
虚拟机中 以管理员权限启动 cmd 添加一个新的启动加载器。
输入:
bcdedit
bcdedit /dbgsettings serial baudrate:115200 debugport:1
复制开机选项(这里我命名为:“Win10_Dbg”,可任意修改)
bcdedit /copy {current} /d Win10_Dbg
增加开机引导项(ID填写上一条命令生成的字符串)
bcdedit /displayorder {current} {ID}
激活debug(ID填写上上一条命令生成的字符串)
bcdedit /debug {ID} ON
重启虚拟机,选择“Win10_Dbg”为启动项
End
主机打开vmmon64.exe,设置Windbg路径(先使用旧版Windbg路径)
在Windows10中,WinDbg的目录是固定的,如下所示:
x86: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WinDbg.exe
x64: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\WinDbg.exe
虚拟机需禁用驱动程序强制签名 这个网上有很多 就不一一赘述了
将 target文件夹拷贝到虚拟机 运行vminstall.exe(特别强调:只能装在虚拟机,勿在主机运行)
正常的话,windbg会自动运行
(DbgX.Shell.exe的路径) /k com:pipe,resets=0,reconnect,port=\.\pipe\(此处为虚拟机名)
我的另一篇博客,介绍了Win10+VirtualKD+WMware15 不兼容之解决方案
// 以下命令告诉调试器使用符号服务器从https://msdl.microsoft.com/download/symbols
//的符号存储中获取符号并缓存符号c:\MyServerSymbols。
.sympath srv*c:\MyServerSymbols*https://msdl.microsoft.com/download/symbols
双机调试时
普通程序,入口点 main 加 MessageBox(0, 0, 0, 0);
驱动程序,入口点 DriverEntry 加 DbgBreakPoint();
[1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg-preview
[2]: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symbol-path
[3]: https://blog.51cto.com/14317856/2410156
[4]: https://blog.csdn.net/m0_37921080/article/details/82495063
[5]: https://www.cnblogs.com/endenvor/p/8926688.html