print
and many other GDB commands accept an expression and
compute its value. Any kind of constant, variable or operator defined
by the programming language you are using is valid in an expression in
GDB. This includes conditional expressions, function calls, casts
and string constants. It unfortunately does not include symbols defined
by preprocessor #define
commands.
GDB supports array constants in expressions input by
the user. The syntax is {element, element...}. For example,
you can use the command print {1, 2, 3}
to build up an array in
memory that is malloc
ed in the target program.
Because C is so widespread, most of the expressions shown in examples in this manual are in C. See Languages, for information on how to use expressions in other languages.
In this section, we discuss operators that you can use in GDB expressions regardless of your programming language.
Casts are supported in all languages, not just in C, because it is so useful to cast a number into a pointer in order to examine a structure at that address in memory.
GDB supports these operators, in addition to those common to programming languages:
@
@
' is a binary operator for treating parts of memory as arrays.
See Arrays, for more information.
::
::
' allows you to specify a variable in terms of the file or
function where it is defined. See Variables.
{type} addr
Packaging copyright © 1988-2000 OAR Corporation
Context copyright by each document's author. See Free Software Foundation for information.