Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)
Start here for an overview of Debugging Tools for Windows. This tool set includes WinDbg and other debuggers.
3 ways to get Debugging Tools for Windows
As part of the WDK
Debugging Tools for Windows is included in the WDK. You can get the WDK here.
As a standalone tool set
If you want to download only Debugging Tools for Windows, install the Windows SDK, and, during the installation, select the Debugging Tools for Windows box and clear all the other boxes.
As part of the Windows SDK
Install the complete Windows Software Development Kit (SDK). Debugging Tools for Windows is included in the Windows SDK. You can get the Windows SDK here.
Getting Started with Windows Debugging
To get started with Windows debugging, see Getting Started with Windows Debugging.
To get started with debugging kernel mode drivers, see Debug Universal Drivers - Step by Step Lab (Echo Kernel-Mode). This is a step by step lab that shows how to use WinDbg to debug the sample KMDF echo driver.
After you install Visual Studio and the WDK, you'll have six available debugging environments. All of these debugging environments provide user interfaces for the same underlying debugging engine, which is implemented in dbgeng.dll. This debugging engine is called the Windows debugger, and the six debugging environments are collectively called the Windows debuggers.
Note Visual Studio includes its own debugging environment and debugging engine, which together are called the Visual Studio debugger. For information on debugging in Visual Studio, see Visual Studio debugger. If you are looking to debug managed code such as C#, using the Visual Studio is often easiest way to get started.
The Windows debuggers can run on x86-based, x64-based, or ARM-based processors, and they can debug code that's running on x86-based, x64-based, or ARM-based processors. Sometimes the debugger and the code being debugged run on the same computer, but other times the debugger and the code being debugged run on separate computers. In either case, the computer that's running the debugger is called the host computer, and the computer that is being debugged is called the target computer. The Windows debuggers support the following versions of Windows for both the host and target computers.
Windows 10 and Windows Server 2016
Windows 8.1 and Windows Server 2012 R2
Windows 8 and Windows Server 2012
Windows 7 and Windows Server 2008 R2
Symbols and Symbol Files
Symbol files hold a variety of data which are not actually needed when running the binaries, but are very useful when debugging code. For more information about creating and using symbol files, see Symbols for Windows debugging (WinDbg, KD, CDB, NTSD).
Blue Screens and crash dump files
If Windows stops working and displays a blue screen, the computer has shut down abruptly to protect itself from data loss and displays a bug check code. For more information, see Bug Checks (Blue Screens). You analyze crash dump files that are created when Windows shuts down by using WinDbg and other Windows debuggers. For more information, see Crash dump analysis using the Windows debuggers (WinDbg).
Tools and utilities
In addition to the debuggers, Debugging Tools for Windows includes a set of tools that are useful for debugging. For a full list of the tools, see Tools Included in Debugging Tools for Windows.
In this section
- Getting Started with Windows Debugging
- Debugging Resources
- Debugger Operation
- Debugging Techniques
- Crash Dump Analysis
- Bug Checks (Blue Screens)
- Debugger Reference