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.

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.

Provides instructions on setting up your application to start Visual Studio when you start the application from Windows. Visual Studio will load your application, ready for debugging, but debugging will not begin until you issue an execution command. Launching the debugger in this way is useful for debugging services and COM out-of-process servers.

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.

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.

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.