Pick a Debugger, any Debugger
There's a very clever man called John Robbins who wrote the "Debugging Applications" book by Microsoft Press and writes the "Bugslayer" column for Microsoft Systems Journal. In his MSJ articles John describes how to maximise your debug techniques and get the most out of your debugger. Like the rest of the world John has little, if any, idea what Clarion is and targets his column towards VB & VC++ programmers, with an obvious emphasis on WinDBG, KD and the other MS debug tools.
Back in the January 2000 Bugslayer column John made available a utility called DbgChooser, which allows you to decide what debugger to run when a process GPFs. DbgChooser is installed as the the system debugger, and when a process GPFs it displays a dialog that allows you to run one of 3 different programs - Dr Watson, WinDBG or the VC++ debugger.
I thought this was an excellent idea, especially if you have to program with multiple development tools, but unfortunately there's no way to change the debugger list without also changing the DbgChooser C++ source code
Seeing as (a) I don't know C++ and (b) I wanted to learn more about the Win32 debug API, I decided to rewrite John's application in Clarion, but to also allow the user to edit the list of debuggers that are available. The result is a C5B application I called PickDBG

PickDBG allows you to edit the list of available debuggers (the list is stored in the PICKDBG.INI file) and to install itself as the system debugger. When a process GPFs PickDBG is run and allows the user to either debug the process with one of the debuggers from the list, or to ignore the crash completely.

I would recommend everybody read the "BugSlayer" column on MSJ as a matter of course, and that you pay particular attention to the original MSJ article as I am sure I have not done it justice :)
PickDBG has been tested under Win98, NT4 and Windows 2000, but if you experience any problems with it then please feel free to contact me
Back to the home page