This quick-reference table is copyright 2002 Robert M. Dondero, Jr., and is used by permission in this book. Parameters listed in brackets are optional.
Table F-1: Common GDB Debugging Commands
Miscellaneous | |
---|---|
quit | Exit GDB |
help [cmd] | Print description of debugger command cmd. Without cmd, prints a list of topics. |
directory [dir1] [dir2] ... | Add directories dir1, dir2, etc. to the list of directories searched for source files. |
Running the Program | |
---|---|
run [arg1] [arg2] ... | Run the program with command line arguments arg1, arg2, etc. |
set args arg1 [arg2] ... | Set the program's command-line arguments to arg1, arg2, etc. |
show args | Print the program's command-line arguments. |
Using Breakpoints | |
---|---|
info breakpoints | Print a list of all breakpoints and their numbers (breakpoint numbers are used for other breakpoint commands). |
break linenum | Set a breakpoint at line number linenum. |
break *addr | Set a breakpoint at memory address addr. |
break fn | Set a breakpoint at the beginning of function fn. |
condition bpnum expr | Break at breakpoint bpnum only if expression expr is non-zero. |
command [bpnum] cmd1 [cmd2] ... | Execute commands cmd1, cmd2, etc. whenever breakpoint bpnum (or the current breakpoint) is hit. |
Continue | Continue executing the program. |
Kill | Stop executing the program. |
delete [bpnum1] [bpnum2] ... | Delete breakpoints bpnuml, bpnum2, etc., or all breakpoints if none specified. |
clear *addr | Clear the breakpoint at memory address addr. |
clear [fn] | Clear the breakpoint at function fn, or the current breakpoint. |
clear linenum | Clear the breakpoint at line number linenum. |
disable [bpnum1] [bpnum2] ... | Disable breakpoints bpnum1, bpnum2, etc., or all breakpoints if none specified. |
enable [bpnum1] [bpnum2] ... | Enable breakpoints bpnum1, bpnum2, etc., or all breakpoints if none specified. |
Stepping through the Program | |
---|---|
nexti | "Step over" the next instruction (doesn't follow function calls). |
stepi | "Step into" the next instruction (follows function calls). |
finish | "Step out" of the current function. |
Examining Registers and Memory | |
---|---|
info registers | Print the contents of all registers. |
print/f $reg | Print the contents of register reg using format f. The format can be x (hexadecimal), u (unsigned decimal), o (octal), a(address), c (character), or f (floating point). |
x/rsf addr | Print the contents of memory address addr using repeat count r, size s, and format f. Repeat count defaults to 1 if not specified. Size can be b (byte), h (halfword), w (word), or g (double word). Size defaults to word if not specified. Format is the same as for print, with the additions of s (string) and i (instruction). |
info display | Shows a numbered list of expressions set up to display automatically at each break. |
display/f $reg | At each break, print the contents of register reg using format f. |
display/si addr | At each break, print the contents of memory address addr using size s (same options as for the x command). |
display/ss addr | At each break, print the string of size s that begins in memory address addr. |
undisplay displaynum | Remove displaynum from the display list. |
Examining the Call Stack | |
---|---|
where | Print the call stack. |
backtrace | Print the call stack. |
frame | Print the top of the call stack. |
up | Move the context toward the bottom of the call stack. |
down | Move the context toward the top of the call stack. |