KD=Kernel Debug
简介
它是一款-虚拟机辅助调试开源工具.
版本支持情况:
当前2.7版本支持Win8及以前系统.
官网:
http://virtualkd.sysprogs.org/
当你需要高效地调试一台虚拟机你需要它
双机调试的时候,不管是Windbg+vmware,还是Windbg+1394,其调试速率都是相对比较低的,有时候执行一条p命令,Windbg的状态都会BUSY..好久…
VirtualKD可以完美的解决这一问题。
VirtualKD主要是用来提高当使用vmware或virtualBox进行windows内核调试时的速率。以前的双机标准调试方法是利用虚拟COM串口,其速率很低。
通常,通过虚拟COM串口进行调试包括以下步骤:
1.windows使用虚拟COM串口和host主机之间进行数据交换;
2.WinDbg/KD使用VM提供的一个PIPE管道来与目标调试机进行通信。
这里最弱的连接是虚拟COM串口,其传输速率仅为:115200 baudrate,等效于115200 bit per second,也就是大约10KB/S的传输速率。VirtualKD取代了虚拟COM串口的功能,极大的提高了数据交换速率,可达6MB/S,但是官方给出的用!irpfind命令测试的话,vmware平台可达150KB/S,不过已经比虚拟COM串口快了15倍了。具体的效果只有在调试过程当中,才会体会到 -:) 事实上,VirtualKD的主要原理是,利用KD的扩展DLL功能,并且向虚拟机patch一个进程,二者通过pipe来进行通信。-http://www.cnblogs.com/Jesses/archive/2011/05/03/2035560.html
用法
- 将VirtualKD文件夹下target文件夹放到虚拟机中,然后在虚拟机中运行target.
- 主控机根据自己的系统版本选择使用vmmon或vmmon64运行.
- 设置调试器路径
- 重启虚拟机.
- 运行设置的调试器
- 目标系统成功断在了启动的时候.(此时想让系统继续奔跑,在windbg中输入g回车即可)
用途
便于双机调试-用一台电脑调试另一台电脑上的程序或者系统.
1为什么不是单机调试:
崩溃了会很麻烦.而且有很多二难问题.
2便于?
在没有这个工具之前人们是这样进行双机调试的:
这样的通讯速率很低,对此前面的引文有提及,而且每次调试都这么重复设置会很浪费时间 .