HP (Hewlett-Packard) 5992-4701 User Manual
Convenience variables are prefixed with '$'. Any name preceded by '$' can be used for
a convenience variable, unless it is one of the predefined machine-specific register
names (see
a convenience variable, unless it is one of the predefined machine-specific register
names (see
). (Value history references, in contrast, are numbers
preceded by '$'. See
.)
You can save a value in a convenience variable with an assignment expression, just as
you would set a variable in your program. For example:
you would set a variable in your program. For example:
set $foo = *object_ptr
would save in $foo the value contained in the object pointed to by object_ptr.
Using a convenience variable for the first time creates it, but its value is void until you
assign a new value. You can alter the value with another assignment at any time.
assign a new value. You can alter the value with another assignment at any time.
Convenience variables have no fixed types. You can assign a convenience variable any
type of value, including structures and arrays, even if that variable already has a value
of a different type. The convenience variable, when used as an expression, has the type
of its current value.
type of value, including structures and arrays, even if that variable already has a value
of a different type. The convenience variable, when used as an expression, has the type
of its current value.
show convenience
Print a list of convenience variables used so far, and their
values. Abbreviated show conv.
values. Abbreviated show conv.
A convenient variable can be used as a counter to be incremented or a pointer to be
advanced. For example, to print a field from successive elements of an array of
structures:
advanced. For example, to print a field from successive elements of an array of
structures:
set $i = 0
print bar[$i++]->contents
print bar[$i++]->contents
Repeat that command by typing RET.
Some convenience variables are created automatically by GDB and assigned values.
$_
The variable $_ is automatically set by the x command to the last
address examined (see
address examined (see
). Other
commands which provide a default address for x to examine, also set
$_
$_
to that address. These commands include info line and info
breakpoint
. The type of $_ is void * except when set by the x
command, in which case it is a pointer to the type of $__.
$__
The variable $__ is automatically set by the x command to the value
found in the last address examined. Its type is chosen to match the
format in which the data was printed.
found in the last address examined. Its type is chosen to match the
format in which the data was printed.
$_exitcode
The variable $_exitcode is automatically set to the exit code when
the program being debugged terminates.
the program being debugged terminates.
On HP-UX systems, if you refer to a function or variable name that begins with a dollar
sign, GDB searches for a user or system name first, before it searches for a convenience
variable.
sign, GDB searches for a user or system name first, before it searches for a convenience
variable.
8.9 Convenience variables
97