VirtualKD is a tool that improves your kernel debugging performance with VMWare and VirtualBox. It seamlessly integrates with WinDbg and dramatically reduces debugging latency. Just run the Virtual Machine Monitor, select a VM and press "Run debugger". A ready-to-go WinDbg window will appear and a faster-than-ever debugging session will start.
New in version 3.0: Now compatible with Windows 10 and VirtualBox 5.x.Want to debug Linux kernel from Visual Studio? Check out our VisualKernel product!
- Significantly improves kernel debugging performance with VMWare and VirtualBox.
- Supports Windows XP to Windows 10, 32-bit and 64-bit.
- Fixes truncated Driver Verifier load messages.
- Compatible with WinDbg and VisualDDK.
- Easy installation.
To download VirtualKD, see this page. The packages available to download include release build, debug build with PDB files for source-level debugging, and full source archive. Note that you need to download BazisLib library and VirtualBox sources to build VirtualKD.
Please report at the forum.SysProgs forum.
You can modify some parameters in registry under SOFTWARE\BazisSoft\KDVMWare\Patcher:
AllowPatchingAtTableStart. Set it to 0 if your VMWare crashes when being patched.
AllowReplacingFirstCommand. Set it to 1 if patching fails (and debug output indicates something like "0 free entries").
DefaultPatchingAtTableStart. You can try setting this to increase the performance (just a bit), but in can make VMWare crash on patching. Feel free to try ;) Additionally, you can set the WaitForOS to 0 in VirtualKD\Monitor to let the debugger be started immediately when a VM is detected (without waiting for OS to load).
The information about source code structure and some hints for experimenting with it can be found at the following address: http://virtualkd.sysprogs.org/dox
I would like to thank the following people for making the creation of this tool possible:
- Ken Johnson (http://www.nynaeve.net) for the idea (VMKD project).
- OpenVMTools team (http://sourceforge.net/projects/open-vm-tools)
- Tomasz Nowak (http://undocumented.ntinternals.net/)
- MS and VMWare for creating scalable and flexible architectures
- Sun Microsystems for the VirtualBox
- Klaus Espenlaub for integrating VirtualKD stub into VirtualBox tree