Contents|Index|Previous|Next
Expressions
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 uses the following
example's declaration.
For example, you can now use
the command, print
{1 2 3} to build
up an array in memory that is memory allocated in the target program.
Note:
Because C is so widespread,
most of the expressions shown in examples in this documentation are in
C. See Using
GDB with Different Languages for information on how to use expressions
in other languages. In this documentation, 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 the following
operators, in addition to those common to programming languages.
@
‘@’
is a binary operator for treating parts of memory as arrays. See Artificial
arrays for more information.
::
‘::’
allows you to specify a variable in terms of the file or function where
it is defined. See Program
variables.
{type}
addr
Refers to an object of type,
type,
stored at address, addr,
in memory. addr
may be any
expression whose value is an integer or pointer (but parentheses are required
around binary operators, just as in a cast). This construct is allowed
regardless of what kind of data is normally supposed to reside at addr.
Top|Contents|Index|Previous|Next