
With the advent of the Virtual Machine technology, it’s become far easier to use a single server and debug from the host machine to a VM guest without having to setup any cables or doing fancy setups. What I have shown here is a method that can be used to setup a Windows Kernel debugging environment on a single machine, and will not require complicated setup or fancy cables and interfaces. However, the mention of two systems puts off a lot of people who are used to debugging applications using a single system using tools like Visual Studio. Yet, this approach still had the developer tugging along a laptop and setting up connections the good thing now is that you could use a faster firewire connection to debug rather than a serial cable. However, later, baud rates did improve, and it was not so hard once you had a laptop which was always configured to be your debugger.

The speeds were very slow, and sometimes it was hard to even get the two systems to communicate. It was pretty cumbersome, especially since the two machines were connected over a null modem cable over the COM port (serial port).

This was the only way I could debug my driver using WinDbg. When I started writing Windows device drivers for Windows NT and then later for Win2K, I always had two systems on my desk: the debugger and the debugee. There are some third party tools for debugging however, WinDbg is free and gets the work done most of the time. WinDbg is the recommended debugging tool suggested by Microsoft for kernel mode driver debugging. For Kernel mode debugging in Windows, we cannot use traditional debuggers like the one that is integrated with Visual Studio. I particularly found it useful for debugging services and detecting memory leaks (will cover that in a separate article). PDB file, the corresponding binary, and the source from which it was built. All you need is the debug symbol files, which is the. I have used WinDbg for debugging user mode services and modules since it's fairly lightweight and can be installed pretty quickly on any system and get you started. However, traditionally, developers have used the Visual Studio integrated debugger to debug their user mode code. While WinDbg is very useful for Kernel mode debugging in Windows, it can also be used for debugging user mode applications. Developers can even write their own custom debugging libraries and use it with WinDbg (as a resource DLL or an extension). The debugger provides a decent graphical interface, and has a rich set of commands for debugging kernel mode drivers. Windows kernel developers have traditionally used WinDbg (Windows Debugger - sometimes referred to as Windbag) which is a freely downloadable debugger from Microsoft for both 32 bit and 64 bit platforms ( ).
