A brief overview of the Windows debuggers
- KD – Kernel debugger. You want to use this to remote debug OS problems like blue screens. You want it if you develop device drivers.
- CDB – Command-line debugger. This is a console application.
- NTSD – NT debugger. This is a user-mode debugger that you can use to debug your user-mode applications. Effectively, this is Windows-style UI added to CDB.
- Windbg – wraps KD and NTSD with a decent UI. WinDbg can function both as a kernel-mode and user-mode debugger.
- Visual Studio, Visual Studio .NET – use the same debugging engine as KD and NTSD and offer richer UI than WinDbg for debugging purposes.
Symbol Path
_NT_SYMBOL_PATH
srv*c:/symbols*http://msdl.microsoft.com/download/symbols
Comparison of Debuggers
Feature | KD | NTSD | WinDbg | Visual Studio .NET |
Kernel-mode debugging | Y | N | Y | N |
User-mode debugging | Y | Y | Y | |
Unmanaged debugging | Y | Y | Y | Y |
Managed debugging | Y | Y | Y | |
Remote debugging | Y | Y | Y | Y |
Attach to process | Y | Y | Y | Y |
Detach from process in Win2K and XP | Y | Y | Y | Y |
SQL debugging | N | N | N | Y |