我用来调试使用VirtualKD,WinDBG的和单个虚拟机的Windows内核。
最近我得到了一个Linux机器,现在我wonder-什么是调试Windows内核时,你的主机是无法运行VirtualKD / WinDBG的*最简单的方法?
我认为解决方案将需要两个虚拟机,但我宁愿我的托管实际机器上的两个实例,而不是居住在另一个内部的虚拟实例的实例...
反正是有,使这项工作?
提前致谢!
*葡萄酒是出于稳定性的原因不得已...
我用来调试使用VirtualKD,WinDBG的和单个虚拟机的Windows内核。
最近我得到了一个Linux机器,现在我wonder-什么是调试Windows内核时,你的主机是无法运行VirtualKD / WinDBG的*最简单的方法?
我认为解决方案将需要两个虚拟机,但我宁愿我的托管实际机器上的两个实例,而不是居住在另一个内部的虚拟实例的实例...
反正是有,使这项工作?
提前致谢!
*葡萄酒是出于稳定性的原因不得已...
解决了! 基本上,我结束了使用两 (VirtualBox的) 虚拟机仿真在Unix域套接字 串行连接 (交叉线)(在主机上)。 欲了解更多信息,请阅读下文:
硬件设置*:
调试器设置:
Opened \\\\.\com1 Waiting to reconnect...
调试设置:
*假定VirtualBox的被使用。 VMWare的/ KVM用户大概就能实现以下类似的步骤相同的结果。 此外,更多信息请参考VirtualBox的文档 。
**假设客人是Windows XP中。 后来的版本包括BCDEDIT,描述可以使用这里 。
对于QEMU \ KVM遵守这些指示: http://www.linux-kvm.org/page/WindowsGuestDrivers/GuestDebugging
非常有益的,但适用于Windows XP的机器。 您可以参考下面的链接,如果你需要一台Linux主机上配置基于2 Windows7的虚拟机: http://www.aldeid.com/wiki/Category:Digital-Forensics/Computer-Forensics/Debugger/Kernel
另一种选择是时下启用本地内核调试。 这带有一些局限性 ,但它将使你而只使用一个虚拟机访问内核数据。
此方法仅适用于Windows 8.0和Windows Server 2012及更高版本。
跟着这些步骤:
bcdedit /debug on
bcdedit /dbgsettings local
一旦系统重新启动,您可以执行WinDBG
作为Administrator
,按ctrl+k
或转到File -> Attach to kernel -> Local
,然后按OK。
在这一点上,你就可以只执行内核命令和访问内核结构:
的Windows 10下,并用新的WinDBG版本(预览)进行测试。
参考: 设置在单台计算机手动的建立本地内核调试