Debugging with GDB Manual (5900-1473; WDB 6.2; January 2011)

Table Of Contents
w Words (four bytes). This is the initial default.
g Giant words (eight bytes).
Each time you specify a unit size with x, that
size becomes the default unit the next time you
use x. (For the 's' and 'i' formats, the unit
size is ignored and is normally not written.)
addr, starting display address addr is the address where you want GDB to
begin displaying memory. The expression need
not have a pointer value (though it may); it is
always interpreted as an integer address of a byte
of memory. Refer to See “Expressions (page 76),
for more information on expressions. The default
for addr is usually just after the last address
examined―but several other commands also set
the default address: info breakpoints (to the
address of the last breakpoint listed), info line
(to the starting address of a line), and print (if
you use it to display a value from memory).
For example, 'x/3uh 0x54320' is a request to display three halfwords (h) of memory,
formatted as unsigned decimal integers ('u'), starting at address 0x54320. 'x/4xw
$sp' prints the four words ('w') of memory above the stack pointer (here, '$sp'; see
“Registers” (page 91)) in hexadecimal ('x').
Since the letters indicating unit sizes are all distinct from the letters specifying output
formats, you do not have to remember whether unit size or format comes first; either
order works. The output specifications '4xw' and '4wx' mean exactly the same thing.
(However, the count n must come first; 'wx4' does not work.)
Even though the unit size u is ignored for the formats 's' and 'i', you might still want to
use a count n; for example, '3i' specifies that you want to see three machine instructions,
including any operands. The command disassemble gives an alternative way of
inspecting machine instructions; see “Source and machine code” (page 74).
All the defaults for the arguments to x are designed to make it easy to continue scanning
memory with minimal specifications each time you use x. For example, after you have
inspected three machine instructions with 'x/3i addr', you can inspect the next seven
with just 'x/7'. If you use RET to repeat the x command, the repeat count n is used again;
the other arguments default as for successive uses of x.
The addresses and contents printed by the x command are not saved in the value history
because there is often too much of them and they would get in the way. Instead, GDB
makes these values available for subsequent use in expressions as values of the
convenience variables $_ and $__. After an x command, the last address examined is
8.5 Examining memory 81