Windows Debugging
[This documentation is preliminary and is subject to change.]
Debugging Tools for Windows is a collection of debuggers and related tools. Starting with Windows Driver Kit (WDK) 8, the driver development environment and the Windows debuggers are integrated into Microsoft Visual Studio. For information about how to get the integrated driver development environment, which includes Debugging Tools for Windows, see Windows Driver Kit 8.
If you do not need the driver development environment, you can get Debugging Tools for Windows as a stand-alone package. For more information, see Download and Install Debugging Tools for Windows.
Debugging environments
After you install Visual Studio and the Windows Driver Kit (WDK), you have six available debugging environments:
- Visual Studio with integrated Windows debuggers
- Microsoft Windows Debugger (WinDbg)
- Microsoft Kernel Debugger (KD)
- NTKD
- Microsoft Console Debugger (CDB)
- Microsoft NT Symbolic Debugger (NTSD)
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. For detailed descriptions of the different environments, see Debugging Environments.
Note Visual Studio includes its own debugging environment and debugging engine, which together are called the Visual Studio debugger. The Visual Studio debugger is completely different from Windows debugger. In Visual Studio, you can debug user-mode code by using either the Windows debugger or the Visual Studio debugger. You cannot use the Visual Studio debugger to debug kernel-mode code. To debug kernel-mode code, you must use the Windows debugger integrated with Visual Studio, WinDbg, KD, or NTKD.
The Windows debuggers can run on x86-based or x64-based processors, and they can debug code that is running on x86-based or x64-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 is 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 8 Consumer Preview
-
Windows 7 and Windows Server 2008 R2
-
Windows Vista and Windows Server 2008
-
Windows XP and Windows Server 2003 R2
Note There are some restrictions to the supported versions of Windows depending on which debugging environment you are using. For example, Visual Studio with the integrated Windows debugger does not run on a host computer with a version of Windows prior to Windows 7. For more information, see Windows Driver Kit 8.
New for Windows 8
For Windows 8, we have integrated the Windows debuggers into Visual Studio. We have also integrated the driver development and build environment into Visual Studio. So now you can develop, build, and debug both kernel-mode and user-mode components all from Visual Studio. We have added support for debugging over a network connection or a USB 3.0 connection, and we have improved support for debugging optimized code and inline functions. For more information, see these topics:
- Debugging Using Visual Studio
- Setting Up a Network Connection Manually
- Setting Up a USB 3.0 Connection Manually
- Debugging Optimized Code and Inline Functions
The Windows 8 Debugging Tools for Windows package does not support Windows 2000.
Sos.dll is a component that is used for debugging managed code. The Windows 8 Debugging Tools for Windows package does not include any version of sos.dll. To get sos.dll for .NET Framework 1.x, download the Windows 7 Debugging Tools for Windows package. For later versions of .NET Framework , sos.dll is included in the .NET Framework installation.
32-Bit and 64-Bit Versions
There are two versions of Debugging Tools for Windows: a 32-bit version and a 64-bit version. For more information, see Choosing the 32-bit or 64-bit Debugging Tools.
Tools and Utilities
In addition to the debuggers, Debugging Tools for Windows includes a set of tools that are related to debugging. For a full list of the tools and where they are documented, see Tools and Utilities.
Release Notes
For the latest updates and release notes, see Windows Debugging Tools Release Notes.
Send comments about this topic to Microsoft
Build date: 4/2/2012