Debugging with GDB (February 2008)

Table Of Contents
Chapter 3: GDB Commands 17
3 GDB Commands
You can abbreviate a GDB command to the first few letters of the command name, if
that abbreviation is unambiguous; and you can repeat certain GDB commands by typing
just
h
RET
i
. You can also use the
h
TAB
i
key to get GDB to fill out the rest of a word in a
command (or to show you the alternatives available, if there is more than one possibility).
3.1 Command syntax
A GDB command is a single line of input. There is no limit on how long it can be.
It starts with a command name, and is followed by arguments whose meaning depends
on the command name.
GDB command names can be truncated if that abbreviation is unambiguous. The pos-
sible command abbreviations are listed in the documentation for individual commands.
In some cases, even ambiguous abbreviations are allowed; for example, s is specially
defined as equivalent to step even though there are other commands whose names start
with s. You can test abbreviations by using them as arguments to the help command.
A blank line as input to GDB (typing just
h
RET
i
) means to repeat the previous com-
mand. Some commands (for example, run) do not repeat this way. These are com-
mands whose unintentional repetition might cause trouble and which you are unlikely
to want to repeat. The list and x commands, when you repeat them with
h
RET
i
,
construct new arguments rather than repeating exactly as typed. This permits easy
scanning of source or memory.
GDB can also use
h
RET
i
in another way: to partition lengthy output, in a way similar
to the common utility more (see hundefinedi [Screen size], page hundefinedi). Since it is
easy to press one
h
RET
i
too many in this situation, GDB disables command repetition
after any command that generates this sort of display.
Any text from a # to the end of the line is a comment; it does nothing. This is useful
mainly in command files (see Section 18.3 [Command files], page 257).
3.2 Command completion
GDB can fill in the rest of a word in a command for you, if there is only one possibility;
it can also show you what the valid possibilities are for the next word in a command, at
any time. This works for GDB commands, GDB subcommands, and the names of symbols
in your program.
Press the
h
TAB
i
key whenever you want GDB to fill out the rest of a word. If there is
only one possibility, GDB fills in the word, and waits for you to finish the command (or
press
h
RET
i
to enter it). For example, if you type
((gdb)) info bre
h
TAB
i
GDB fills in the rest of the word breakpoints’, since that is the only info subcommand
beginning with bre’:
((gdb)) info breakpoints