11.11 Expressions view
Use the Expressions view to create and work with expressions.
Figure 11-12 Expressions view
- Add expressions
- Enter your expression in the Enter new
expression here field and press Enter on your keyboard. This adds the expression to the view
and displays its value.
If your expression contains side-effects when evaluating the
expression, the results are unpredictable. Side-effects occur when the state of
one or more inputs to the expression changes when the expression is
For example, instead of
x+=1 you must use
- Edit expressions
- You can edit the values of expressions in the Value
field. Select the value and edit it.
- Delete expressions
- In the Expressions view, select the
expression you want to remove from view, and click to remove the selected expression. If you want to remove all
expressions, click .
|You can also use the Delete key on your keyboard to delete the
currently selected expression.|
- Refresh view
To refresh or update the values in the view, click
Example 11-1 Expression examples
- When debugging the Linux kernel, to view its internal thread structure,
use these expressions:
For ARMv7 in SVC mode, with 8K stack size:
(struct thread_info*)($SP_SVC &
For ARMv8 AArch64 in EL1, with 16K stack size:
(struct thread_info*)($SP_EL1 &
Toolbar and context menu options
The following options are available from the toolbar or context menu:
Links this view to the selected connection in the Debug Control view. This
is the default. Alternatively you can link the view to a different
connection. If the connection you want is not shown in the drop-down
list you might have to select it first in the Debug
- Remove Selected Expression
Removes the selected expression from the list.
- Remove All Expressions
Removes all expressions from the list.
Copies and removes the selected expression.
Copies the selected expression.
To copy an expression for use in the Disassembly view
or Memory view, first select the expression in the
Pastes expressions that you have previously cut or copied.
Deletes the selected expression.
- Select All
Selects all expressions.
- Show in Registers
If the expression corresponds to a register, this displays the Registers view with that register
- Show in Memory
Where enabled, this displays the Memory view with the address set to either:
The value of the selected expression, if the
value translates to an address, for example the address of an
The location of the expression, for example the
name of an array,
The memory size is set to the size of the expression,
- Show Dereference in Memory
If the selected expression is a pointer, this displays the Memory view with the address set to the
value of the expression.
- Show in Disassembly
Where enabled, this displays the Disassembly view with the address set to the location of
- Show Dereference in Disassembly
- If the selected expression is a pointer, this displays the Disassembly view, with the address set to
the value of the expression.
- Translate Variable Address
Displays the MMU
view and translates the address of the variable.
- Toggle Watchpoint
- Displays the Add
Watchpoint dialog to set a watchpoint on the selected
variable, or removes the watchpoint if one has been set.
- Enable Watchpoint
- Enables the watchpoint, if a watchpoint has been set on the
- Disable Watchpoint
- Disables the watchpoint, if a watchpoint has been set on
the selected variable.
- Resolve Watchpoint
- If a watchpoint has been set on the selected variable, this re-evaluates
the address of the watchpoint. If the address can be resolved the watchpoint
is set, otherwise it remains pending.
- Watchpoint Properties
- Displays the Watchpoint
Properties dialog box. This enables you to control watchpoint
- Send to
Enables you to add register filters to an Expressions
view. Displays a sub menu that enables you to add to a specific
- <Format list>
A list of formats you can use for the expression value.
- View Menu
The following View Menu options are available:
- New Expressions View
Displays a new instance of the Expressions
- Update View When Hidden
Enables the updating of the view when it is hidden behind other views.
By default, this view does not update when hidden.
- Freeze Data
Toggles the freezing of data in the current view. This also disables and enables the Refresh option.
Adding a new column header
Right-click on the column headers to select the columns that you want
An expression that resolves to an address, such as
main+1024, or a register, for
The value of the expression. You can modify a value that has a white
background. A yellow background indicates that the value has changed.
This might result from you either performing a debug action such as
stepping or by you editing the value directly.
If you freeze the view, then you cannot change a
The type associated with the value at the address
identified by the expression.
The number of array or pointer elements. You can edit a
pointer element count.
The size of the expression in bits.
The address in hexadecimal identified by the expression,
or the name of a register, if the expression contains only a single
The access type of the expression.
All columns are displayed by default.