| |||
| Home > ARM Debuggers for Windows and UNIX > ARM Debugger desktop windows > Optional windows | |||
The windows described in this section are all available by selecting appropriate options in the View menu.
The Backtrace window displays current backtrace information about your program. Use the Backtrace window to:
show disassembled code for the current procedure
show a list of local variables for the current procedure
set or remove breakpoints.
The Breakpoints window displays a list of all breakpoints set in your image. The actual breakpoint is displayed in the right-hand pane. If the breakpoint is on a line of code, the relevant source file is shown in the left-hand pane.
Use the Breakpoints window to:
show source/disassembled code
set, edit, or remove breakpoints.
The Debugger Internals window displays some of the internal variables used by the ARM Debugger. You can use this window to examine the values of the following variables, and to change the values of those not marked read-only:
$clockContains the number of microseconds elapsed since the application program began execution. This value is based on the ARMulator clock speed setting, and is unavailable if that speed is set to 0.00 (see also ARMulator configuration). This variable is read-only.
$cmdlineContains the argument string for the image being debugged.
$echoNon-zero if commands from obeyed files should be echoed (initially set to 0).
Obeyed files are text files that contain lists of armsd commands. Refer to the description of the obey command in Chapter 7 ARM Symbolic Debugger in the ARM Software Development Toolkit Reference Guide for more information.
$examine_linesContains the default number of lines for the examine command (initially set to 8).
$int_formatContains the default format for displaying integer values.
$uint_formatContains the default format for displaying unsigned integer values.
$float_formatContains the default format for displaying floating-point values.
$sbyte_formatContains the default format for displaying signed byte values.
$ubyte_formatContains the default format for displaying unsigned byte values.
$string_formatContains the default format for displaying string values.
$complex_formatContains the default format for displaying complex values.
$fpresultContains
the floating-point value returned by last called function (junk
if none, or if a floating-point value was not returned). $fpresult returns
a result only if the image has been build for hardware floating-point.
If the image is built for software floating-point, it returns zero.
This variable is read-only.
$inputbaseContains the base for input of integer constants (initially set to 10).
$list_linesContains the default number of lines for the list command (initially set to 16).
$pr_linelengthContains the default number of characters displayed on a single line (initially set to 72).
$rdi_logSets RDI logging (see Table 3.1).
Table 3.1. RDI logging
Bit 1 | Bit 0 | Meaning |
|---|---|---|
0 | 0 | Off |
0 | 1 | RDI on |
1 | 0 | Device Driver Logging on |
1 | 1 | RDI and Device Logging on |
You can set these bits of the $rdi_log internal
variable from the Debugger Internals window. For more information
see RDI Log window and Remote debug information.
$resultContains the integer result returned by last called function (junk if none, or if an integer result was not returned). This variable is read-only.
$sourcedirContains the directory name of the directory containing source code for the program being debugged.
$statisticsContains any statistics that the ARMulator has been
keeping. You can examine the contents of this variable by clicking
on statistics in the Debugger Internals window.
This variable is read-only.
$statistics_incNot available in the debugger internals window. This variable can be used in the command window.
$statistics_inc_wSimilar to $statistics, but outputs
the difference between the current statistics and the point at which
you asked for the $statistics_inc_w window. To
create a $statistics_inc_w window, select this
item, right click to display the pop-up menu, and select Indirect
through item. This variable is read-only and is not
available in the command window.
$top_of_memoryIf you are using an EmbeddedICE interface, set this variable to the total amount of memory normally on your development board. If you add more memory to the board, change this variable to reflect the new amount of memory.
$type_linesContains the default number of lines for the type command (initially set to 10).
$vector_catchApplies to ARMulator and EmbeddedICE only. It sets
the exceptions that result in control passing back to the debugger.
The default value is %RUsPDAifE. An uppercase
letter indicates an exception is intercepted:
Rreset
Uundefined instruction
SSWI
Pprefetch abort
Ddata abort
Aaddress
Inormal interrupt request (IRQ)
Ffast interrupt request (FIQ)
Eunused
The Disassembly window displays disassembled code interpreted from a specified area of memory. Memory addresses are listed in the left-hand pane and disassembled code is displayed in the right-hand pane. You can view ARM code, Thumb code, or both.
Use the Disassembly window to:
go to another area of memory
change the disassembly mode to ARM, Thumb, or Mixed
set, edit, or remove breakpoints.
More than one Disassembly window can be active at a time.
For details of displaying disassembled code, see Displaying disassembled and interleaved code.
The Expression window displays the values of selected variables and/or registers.
Use the Expression window to:
change the format of selected items, or all items
edit or delete expressions
display the section of memory pointed to by the contents of a variable.
For more information on displaying variable information, see Working with variables.
The Function Names window lists the functions that are part of your program.
Use the Function Names window to:
display a selected function as source code
set, edit, or remove a breakpoint on a function.
The Locals window (Figure 3.6) displays a list of variables currently in scope. The Globals window displays a list of global variables. The variable name is displayed in the left-hand pane, the value is displayed in the right-hand pane.
Use the Locals/Globals window to:
change the content of a variable (double click on it)
display the section of memory pointed to by a variable
change the format of the values displayed by line, or for the entire window (if the format of a line is changed, it is no longer affected by changing the format of the window)
set, edit, or remove a watchpoint on a variable
double click on an item to expand a structure (the details are displayed in another variable window).
As you step through the program, the variable values are updated.
For more information on displaying variable information, see Working with variables.
The Low Level Symbols window displays a list of all the low level symbols in your program.
Use the Low Level Symbols window to:
display the memory pointed to by the selected symbol
display the source/disassembled code pointed to by the selected symbol
set, edit, or remove a breakpoint on the line of code pointed to by the selected symbol.
You can display the low level symbols in either name or address order. Right click in the window to display the Low Level Symbols window menu and select Sort Symbols by… to toggle between the two settings.
The Memory window displays the contents of memory at a specified address. Addresses are listed in the left-hand pane, and the memory content is displayed in the right-hand pane.
Use the Memory window to:
display other areas of memory by scrolling or specifying an address
set, edit, or remove a watchpoint
change the contents of memory (double click on an address).
You can have multiple Memory windows open at any time.
The Registers window displays the registers corresponding to the mode named at the top of the window, with the contents displayed in the right-hand pane. You can double click on an item to modify the value in the register.
Use the Registers window to:
display the contents of the register memory
display the memory pointed to by the selected register
edit the contents of a register
set, edit, or remove a watchpoint on a register.
Multiple register mode windows can be open at any one time, but you cannot open more than one window for each processor mode. For example, you can open no more than one FIQ register window at a time.
The RDI Log window displays the low level communication messages between the ARM Debugger and the target processor.
This facility is not normally enabled. It must be specifically
enabled when the RDI is compiled. In addition, the debugger internal
variable $rdi_log must be non-zero.
For more information on RDI, see Remote debug information.
The Search Paths window displays the search paths of the image currently being debugged. You can remove a search path from this window using the Delete key.
The Source Files List window displays a list of all source files that are part of the loaded image.
Use the Source Files List window to select a source file that is displayed in its own Source File window.
The Source File window displays the contents of the source file named at the top of the window. Line numbers are displayed in the left-hand pane, code in the right-hand pane.
Use the Source File window to:
search for a line of code by line number
set, edit, or remove breakpoints on a line of code
toggle the interleaving of source and disassembly.
For more information on displaying source files, see Working with source files.
The Watchpoints window displays a list of all watchpoints.
Use the Watchpoints window to:
delete a watchpoint
edit a watchpoint.
Each of the ARM Debugger desktop windows displays a window-specific menu when you click the secondary mouse button over the window. The secondary button is typically the right mouse button. Item-specific options require that you position the cursor over an item in the window before they are activated.
Each of the window-specific menus is described in the online help for that window.