Wednesday, May 06, 2009

Debugging Tools for Windows

Visual studio debugger tools (including Spy++ & Remote Debugger) are great, but we always need to go beyond visual studio capabilities and that's when debugging tools are really useful.

I am writing this post for mainly two reasons, The first one is to share some of my favourite debugging tools that are powerful to use & know about; The second one is actually for documentation purposes to act as a guide/reference for me & others who search for a debugging tool that help in doing a specific task.

Below are some tools I used them myself & found them really useful and neat to use:

1- DebugView  for Windows, This tool tracks any OutputDebugString/ DbgPrint and displays it without the need for a debugger.
I see this tool is idle when quick debugging is needed on a clean machine (with no visual studio installed), no process attaching required .. etc


2- SysInternals Tools are indeed so powerful tools and I guess you will always find what you are looking for there (that's why microsoft acquired it ;) ). I tried WinDbg one -for commands lovers- , Process Explorer & Process monitor.
Process monitor is a very good choice for monitoring everything on your computer, starting from the registry, till process monitoring with filtering options.. it is indeed a very cool tool.


3- Auto Debug for Windows , a tool for APIs monitoring & tracing, maybe it has other features, but this was what I was interested in mainly.. the bad news is that it is not a free tool, however the good news is that it doesn't block you when you run the trial.

4- Dependency Walker , not a real debugging tool, but you will probably need it when things not work due to missing files/modules, it just does what it says & sometimes that's all what you want !

That's all for now, everybody is welcomed to share his favorite ones too.