我做了什么:
在
boot.ini
中我设置了/debugport=COM1 /baudrate=115200
; COM1
; 在WinDBG文件中>
\.\pipe\debug
> Kernel Debug...
选项卡:选中“管道”复选框,然后为COM
; 在WinDBG中找到调试会话,我可以打断点我可以单步执行代码,可以在“反汇编窗口”中查看反汇编的代码,也可以在“内存窗口”中查看内存位置。但是WinDBG的“注册窗口”中没有任何显示。 br />我真的不确定在哪里寻找该问题的答案,有人可以向我指出正确的方向吗?
对于其他有此问题或试图学习内核调试的人,我使用了以下教程介绍了到目前为止的应用:Windows内核调试技巧(Virtualbox文档);如何为WinDbg配置内核调试(博客文章)。
#1 楼
您应该尝试VirtualKD,它使用特定于VM的快速机制与调试器进行通信,而不是慢速串行端口仿真。另一个选项可能是基于以太网或USB的调试,但是我不确定如何使用VM进行设置...评论
两者中较好的答案。希望这个被接受。
– 0xC0000022L♦
17年8月30日在21:23
基于以太网-与在物理计算机上进行设置的方式相同,但是与OP所说的相比,它需要较新的目标Windows版本。
– conio
17年9月2日在21:56
#2 楼
解决了这是一个两部分的问题。Avast防病毒软件将VM减慢到爬网的速度
解决方案卸载avast或在某些情况下,禁用该选项:“设置”>故障排除>“启用硬件辅助的可视化”
调试旧版本的Windows时,在较新版本的WinDBG中存在错误。 cpu注册而不是使用“注册窗口”,或使用WinDBG插件来解决此问题
https://stackoverflow.com/questions/35961246/windbg-not-showing-register-values
评论
不知道在哪里看?首先尝试使用其他虚拟化软件查明原因。