# Debug information

The Debug perspective lets you manage the debugging or running of a program in the Workbench. You can control the execution of your program by setting breakpoints, suspending launched programs, stepping through your code, and examining the contents of variables.

The Debug perspective displays the following information:

- The stack frame for the suspended threads for each target that you are debugging
- Each thread in your program represented as a node in the tree
- The process for each program that you are running

The Debug perspective also drives the C/C++ Editor. As you step through your program, the C/C++ Editor highlights the location of the execution pointer.

## Variables

You can view information about the variables in a selected stack frame in the Variables view. When execution stops, the changed values are by default highlighted in red. Like the other debug-related views, the Variables view does not refresh as you run your executable. A refresh occurs when execution stops.

## Expressions

An expression is a snippet of code that can be evaluated to produce a result. The context for an expression depends on the particular debug model. Some expressions may need to be evaluated at a specific location in the program so that the variables can be referenced. You can view information about expressions in the Expressions view.

## Registers

You can view information about the registers in a selected stack frame. Values that have changed are highlighted in the Registers view when your program stops.

## Memory

You can inspect and change your process memory.

## Disassembly

You can view disassembled code mixed with source information.

## Modules

You can view information about the modules (executables and shared libraries) loaded in the current debug session.

## Signals

You can view the signals defined on the selected debug target and how the debugger handles each one.

Overview of the CDT
Debug overview

Debugging

Run and Debug dialog box
Debug views