Viewing Data in the Debugger

The Visual Studio debugger provides a variety of tools for inspecting and modifying the state of your program. Most of these tools function only in break mode.

DataTips are one of the most convenient tools for viewing information about the variables and objects in your program during debugging. When the debugger is in break mode, you can view the value of a variable within the current scope by placing the mouse pointer over the variable in a source window. For more information, see View data values in Data Tips in the code editor.

Visualizers are a new component of the Visual Studio debugger that enable you to view the contents of an object or variable in a meaningful way. For example, you can use the HTML visualizer to view an HTML string as it would be interpreted and displayed in a browser. You can access visualizers from DataTips, the Watch window, the Autos window, the Locals window, or the QuickWatch dialog box. For more information, see Visualizers.

You can use Variable Windows to study variables, register contents, and expressions.

You can set the numeric format used in the debugger windows to decimal or hexadecimal. For more information, see Changing the Numeric Format of Debugger Windows.

The following debugger windows offer important information about your program.

Register contents

How to: Use the Registers Window

Memory contents

Memory Windows

  • Names of functions on the call stack

  • Parameter types

  • Parameter values

How to: Use the Call Stack Window

Assembly code generated by the compiler for your program

How to: Use the Disassembly Window

Threads — sequential streams of execution — created by your program

How to: Use the Threads Window

Modules (DLLs and EXEs) used by your program

How to: Use the Modules Window

Note Note

Your ability to inspect the program may be limited by whether the program was built with debug information, whether the debugger has access to the source code, and whether the common language runtime Just-In-Time (JIT) compiler is tracking debug information. If the Visual Studio debugger does not find debug information for your program, it reports "no matching symbolic information found". Debug information is generated by default when you build the debug configuration of your program. In the debugger cannot find symbols, or if you want to debug system calls you might need to specify a symbol path. For more information, see Specify Symbol (.pdb) and Source Files in the Visual Studio Debugger.