Having one copy of visual studio installed is bad enough, but what if you had to have 10 copies? Nowadays, one needs to test code in a variety of operating systems, which means multiple virtual machines, each one of which needs a separate copy of the same programs and tools. I test on windows 98, 2000, XP, vista, windows 7, 8, 8.1 and don't forget that most versions have a separate 32 and 64 bit flavor... that's a lot of virtual machines!
After automatic windows updates gobbled up the allocated space in a few of the virtual machines I set up rather sparringly, I realized that I could uninstall visual studio and have almost the same debugging capabilities using a single 500KB (!) program windbg, the "user friendly" windows debugger. I have already praised windbg for post mortem debugging using crash minidumps so I am delighted to find yet another use for this miniature tool.
Debugging without visual studio requires:
To debug a x64 application you need the x64 version of windbg. If you are just analysing crash dumps, the 32 bit version is ok for both 32/64 bit crashes
|Windbg is a rather complex tool, but for the simple stuff it really reminds you of visual studio's debugger. I don't have the time to learn the console commands of windbg but it has a debugging toolbar that looks like VS, and similar keyboard shortcuts e.g. <F10> to single step. To set a breakpoint, press <Ctrl+O> to open the source code file you need, mark the line and press <F9>, easy! You also have access to all the usual debugging panels, like the output window, local variables, stack etc. The docking function is a bit fidgety but with a little effort you can arrange panels to taste.|
Although it isn't as convenient as the full visual studio debugger, you get a lot out of this 500KB debugger. And if you want to dig in deeper, it can do any crazy trick as you can think of, to satisfy the hard core kernel debugger. For the rest of us don't forget to enable unicode string display in the locals window so you can examine your strings.
A slight let-down is that PDB files generated by the ancient VS6 I use are not fully compatible with windbg so some of the variables won't show in the watch window. But if you use any modern VS version you will have all mod cons.