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. |