f78
Automatic display
Contents|Index|Previous|Next
Automatic display
If you find that you want to print the value of an expression frequently (to
see how it changes), you might want to add it to the automatic display list so that GDB prints its value each time your program stops. Each expression
added to the list is given a number to identify it; to remove an expression from
the list, you specify that number. The automatic display looks like the
following.
2: foo = 38
3: bar[5] = (struct hack *) 0x3804
This display shows item numbers, expressions and their current values. As with
displays you request manually, using x or print, you can specify the output format you prefer; in fact, display decides whether to use print or x depending on how elaborate your format specification is—it uses x if you specify a unit size, or one of the two formats (‘i’ and ‘s’) that are only supported by x; otherwise it uses print.
display exp
Add the expression, exp, to the list of expressions to display each time your program stops. See Expressions.
display does not repeat if you press Return again after using it.
display/fmt exp
For fmt specifying only a display format and not a size or count, add the expression exp to the auto-display list but arrange to display it each time in the specified
format, fmt. See Output formats.
display/fmt addr
For fmt ‘i’ or ‘s’, or including a unit-size or a number of units, add the expression, addr, as a memory address to be examined each time your program stops. Examining
means in effect doing ‘x/fmt addr’. See Examining memory.
For example, ‘
display/i $pc’ can be helpful, to see the machine instruction about to be executed each
time execution stops (‘$pc’ isa common name for the program counter; see Registers).
undisplay dnums ...
delete display
dnums ...
Remove item numbers dnums from the list of expressions to display.
undisplay does not repeat if you use Return after using it. (Otherwise you would just get the error, ‘No display number...’.)
disable display dnums ...
Disable the display of item numbers, dnums. A disabled display item is not printed automatically, but is not forgotten.
It may be enabled again later.
enable display dnums ...
Enable display of item numbers, dnums. It becomes effective once again in auto display of its expression, until you
specify otherwise.
display
Display the current values of the expressions on the list, just as is done
when your program stops.
info display
Print the list of expressions previously set up to display automatically, each
one with its item number, but without showing the values. This includes
disabled expressions, which are marked as such. It also includes expressions which
would not be displayed right now because they refer to automatic variables not
currently available.
If a display expression refers to local variables, then it does not make sense
outside the lexical context for which it
38c
was set up. Such an expression is
disabled when execution enters a context where one of its variables is not
defined. For example, if you give the command,
display last_char, while inside a function with an argument, last_char, GDB displays this argument while your program continues to stop inside that
function. When it stops elsewhere—where there is no variable, last_ char, the display is disabled automatically. The next time your program stops
where last_char is meaningful, you can enable the display expression once again.
0