This documentation is archived and is not being maintained.

Debugger Roadmap

The Visual Studio debugger is a powerful tool that allows you to observe the run-time behavior of your program and locate logic errors. The debugger works with all Visual Studio programming languages and their associated libraries. With the debugger, you can break, or suspend, execution of your program to examine your code, evaluate and edit variables in your program, view registers, see the instructions created from your source code, and view the memory space used by your application. With Edit and Continue, you can make changes to your code while debugging, and then continue execution.

The Visual Studio debugger provides a Debug menu for access to debugger tools. Debugger windows and dialog boxes display information about your program and enable you to enter additional information. You can obtain Help on any window or dialog box by pressing F1.

Just My Code

Describes the Just My Code feature that lets you step over system, framework, and other non-user calls and that collapses those calls in call stack displays.

Start, Break, Step, Run through Code, and Stop Debugging in Visual Studio

Explains how to use the debugger to control the execution of your application. Using the debugger, you can start, or continue, execution, break execution, stop execution, step through your application, run to a specified location, and set the execution point.

How to: Restore Hidden Debugger Commands

Describes how to make debugger commands visible that have been hidden by IDE default settings.

Debug Threads and Processes in Visual Studio

Describes how to attach to, and control the execution of, processes and threads.

Debug One or More Processes in Visual Studio

Describes how to start debugging processes, switch between processes, break and continue execution, step through source, stop debugging, and terminate or detach from processes.

Attach to Running Processes with the Visual Studio Debugger

Describes how to attach to a running process; attach to a process on a remote computer; troubleshoot attach errors.

Debug Multithreaded Applications in Visual Studio

Describes how to debug multithreaded and asynchronous apps.

Just-In-Time Debugging

Discusses Just-In-Time debugging, which can start the debugger automatically when a program crashes while running outside of Visual Studio.

Walkthrough: Debugging at Design Time

Shows how to use the Visual Studio Immediate window to execute a function or subroutine while your application is not running.

Use Dump Files to Debug App Crashes and Hangs in Visual Studio

Describes dump files, including instructions on saving and opening. Dump files contain a snapshot of your program's state at some point in time, usually after a crash. If you test your program on a machine that does not have source files or PDBs installed, you can save a dump file when a crash occurs and use the dump file to debug the crash on the build machine that has the source files and PDBs.

Breakpoints: Use Hit Counts, Call Stack Functions, and Conditions to Break When and Where You Want in the Visual Studio Debugger

Describes what breakpoints and tracepoints are and how to use them.

Viewing Data in the Debugger

Provides information on a variety of debugging tools that enable you to inspect and modify the state of your program. Most of these tools function only in break mode.

Map methods on the call stack while debugging in Visual Studio

Map the call stack to trace your code’s execution visually while debugging. Use the map to track what the code is doing so you can focus on finding and fixing bugs.

Expressions in the Debugger

Provides links to topics that describe the language-specific syntax you can use when entering C++, C#, C++, Visual Basic, J#, and Script expressions in the debugger.

Exception Handling

Describes exceptions, how the debugger handles them and how to change that handling, how to see where the exception occurred and see the variable contents, limitations for unhandled exceptions in managed code, and fixing exceptions in native (C++) code.

Edit and Continue

Describes Edit and Continue, a tool that enables you to change your source code while your program is in break mode and apply those changes without having to end the debug session and build your program again, and provides instructions on enabling or disabling this feature.

Debugging Home Page

Provides links to the larger sections of the debugging documentation. Information includes: what's new in the debugger, settings and preparation, breakpoints, handling exceptions, edit and continue, debugging managed code, debugging Visual C++ projects, debugging COM and ActiveX, debugging DLLs, debugging SQL, and the user interface references.