Debugging

RealView Debugger provides the following facilities for debugging your programs:

Assembly Language Debugging

You can debug source at assembly language level using the Dsm tab of the Code window File Editor pane. You can view and modify registers, memory, and view the run-time stack.

Asynchronous execution

If the underlying hardware supports it, you can begin program execution and then perform debugging operations such as setting breakpoints, and viewing memory and variables.

Breakpoints on data and address

You can control the execution of your program by setting breakpoints to suspend execution, run a macro, output a message, or update specified windows when specified memory locations or variables are accessed.

Macros

You can create macros that you execute directly from the command line, or that are triggered by a breakpoint.

Memory Display

You can view and modify one or more areas of target memory in a separate pane of the Code window. The panes are updated as execution progresses, and any changes are displayed in blue text.

Memory Mapping

You can define a memory map for a processor. RealView Debugger uses the memory map automatically whenever you connect to that processor.

Register Display

You can view and modify the contents of processor registers in a separate pane of the Code window. There is also the facility to define custom registers for display on a separate tab in the Register pane.

Stepping

You can step through your application, one source line, or one instruction, or one function, or one call at a time.

Source Code Debugging

You can debug your application at the source code level using the Src tab of the Code window File Editor pane. You can view and modify registers, memory, and view the run-time stack.

Symbols – Controlling Scope

If a symbol name is referred to without qualification, RealView Debugger uses scope to determine its location. References to symbols follow the standard C and C++ scoping rules, and RealView Debugger uses the current program counter as the default scope. If you want to display a symbol that is not in the current scope, you can use a scope qualifier, or reset the current scope to use or display a symbol not in the current scope.

RealView Debugger is able to access variables in other modules, procedures, and call trace contexts. It cannot access non-static local variables in a procedure that has not been called or has returned.

Watch values

You can set up lists of variables so that you can watch their values during execution. They are displayed in a separate tabbed pane of the Code window.