The Windows Debuggers
Debugging Tools for Windows features WinDbg, a powerful debugger with a graphical interface that can debug both user-mode and kernel-mode code. Debugging Tools for Windows also includes:
and many additional tools as listed in the following Table.
Tool |
Description |
Logger (Logger.exe and Logexts.dll) |
A tool and an extension DLL that record the function calls and other actions of a program. |
LogViewer (Logviewer.exe) |
A tool that displays the logs created by Logger. |
ADPlus (Autodump+, Adplus.vbs) |
A console-based Microsoft Visual Basic script that can automatically create memory dump files and log files with debug output from one or more processes. |
DbgRpc (Dbgrpc.exe) |
A tool used to display Microsoft Remote Procedure Call (RPC) state information. |
KDbgCtrl (Kernel Debugging Control, Kdbgctrl.exe) |
A tool that controls and configures the kernel debugging connection. |
SrcSrv (Srcsrv.dll) |
A source server that can be used to deliver source files while debugging. |
SymSrv (Symsrv.dll) |
A symbol server that the debugger can use to connect to a symbol store. |
SymStore (Symstore.exe) |
A tool used to create a symbol store. |
SymProxy |
A tool used to create a single HTTP symbol server on your network that all your debuggers can point to. This has the benefit of pointing to multiple symbol servers (both internal and external) with a single symbol path, handling all authentication, and increasing performance via symbol caching. |
AgeStore (Agestore.exe) |
A tool that removes old entries in the downstream store of a symbol server or a source server. |
DBH (Dbh.exe) |
A tool that displays information about the contents of a symbol file. |
PDBCopy (Pdbcopy.exe) |
A tool that removes private symbol information from a symbol file, and controls which public symbols are included in the file. |
DumpChk (Dump File Checking Utility, Dumpchk.exe) |
A tool used to validate a memory dump file. |
DbgSrv (Dbgsrv.exe) |
A process server used for remote debugging. |
KdSrv (Kdsrv.exe) |
A KD connection server used for remote debugging. |
DbEngPrx (Dbengprx.exe) |
A repeater (small proxy server) used for remote debugging. |
The Remote tool (Remote.exe) |
A remoting tool that can be used to remotely control any console program, including KD, CDB, and NTSD. |
GFlags (Global Flags Editor, Gflags.exe) |
A tool used to control registry keys and other settings. |
The Kill tool (Kill.exe) |
A tool used to terminate a process. |
The Breakin tool (Breakin.exe) |
A tool used to cause a user-mode break to occur in a process. |
The List tool (List.exe) |
File List Utility |
TList (Tlist.exe) |
Task List Viewer |
RTList (Rtlist.exe) |
Remote Task List Viewer. A tool used to list running processes via a DbgSrv process server. |
UMDH (User-Mode Dump Heap utility, Umdh.exe) |
A tool used to analyze heap allocations. |
USBView (Universal Serial Bus Viewer, Usbview.exe) |
A tool used to display the USB devices connected to a computer. |
The documentation in Debugging Tools for Windows (Debugging Help) describes the use of these debuggers and includes tips for user-mode and kernel-mode debugging. Debugging Tools for Windows is available in three different versions:
The 32-bit version is appropriate for most users. If you are planning on debugging a user-mode application on an Itanium-based processor, you should install the Itanium version of the debuggers. If you are planning on debugging a user-mode application on an x64 processor, you should select the x64 version of the debuggers. The Itanium and x64 debuggers can be installed only on 64-bit versions of Windows. These debugging tools require approximately 25 MB of hard disk space. To obtain the most current version of Debugging Tools for Windows, visit the Microsoft Debugging Tools web site. It seems that the Debugging Tools for Windows (x86) was installed together during the WDK installation.