
GDB QUICK REFERENCE GDB Version 4
Essential Commands
gdb program [core]debug program [using coredump core]
b[file:]function set breakpoint at function [in file]
run [arglist]start your program [with arglist]
bt backtrace: display program stack
pexpr display the value of an expression
ccontinue running your program
nnext line, stepping over function calls
snext line, stepping into function calls
Starting GDB
gdb start GDB, with no debugging files
gdb program begin debugging program
gdb program core debug coredump core produced by program
gdb --help describe command line options
Stopping GDB
quit exit GDB; also qor EOF (eg C-d)
INTERRUPT (eg C-c) terminate current command, or
send to running process
Getting Help
help list classes of commands
help class one-line descriptions for commands in class
help command describe command
Executing your Program
run arglist start your program with arglist
run start your program with current argument
list
run
<inf >outf start your program with input, output
redirected
kill kill running program
tty dev use dev as stdin and stdout for next run
set args arglist specify arglist for next run
set args specify empty argument list
show args display argument list
show environment show all environment variables
show env var show value of environment variable var
set env var string set environment variable var
unset env var remove var from environment
Shell Commands
cd dir change working directory to dir
pwd Print working directory
make
call “make”
shell cmd execute arbitrary shell command string
[ ] surround optional arguments
show one or more arguments
1991, 1992 Free Software Foundation, Inc. Permissions on back
Breakpoints and Watchpoints
break [file:]line
b[file:]line set breakpoint at line number [in file]
eg: break main.c:37
break [file:]function set breakpoint at function [in file]
break +offset
break -offset set break at offset lines from current stop
break *addr set breakpoint at address addr
break set breakpoint at next instruction
break
if expr break conditionally on nonzero expr
cond n[expr]new conditional expression on breakpoint n;
make unconditional if no expr
tbreak
temporary break; disable when reached
rbreak regex break on all functions matching regex
watch expr set a watchpoint for expression expr
catch xbreak at C++ handler for exception x
info break show defined breakpoints
info watch show defined watchpoints
clear delete breakpoints at next instruction
clear [file:]fun delete breakpoints at entry to fun()
clear [file:]line delete breakpoints on source line
delete [n]delete breakpoints [or breakpoint n]
disable [n]disable breakpoints [or breakpoint n]
enable [n]enable breakpoints [or breakpoint n]
enable once [n]enable breakpoints [or breakpoint n]; disable
again when reached
enable del [n]enable breakpoints [or breakpoint n]; delete
when reached
ignore n count ignore breakpoint n,count times
commands n
[silent]
command-list
execute GDB command-list every time
breakpoint nis reached. [silent
suppresses default display]
end end of command-list
Program Stack
backtrace [n]
bt [n]print trace of all frames in stack; or of n
frames—innermost if n>0, outermost if
n<0
frame [n]select frame number nor frame at address
n; if no n, display current frame
up nselect frame nframes up
down nselect frame nframes down
info frame [addr]describe selected frame, or frame at addr
info args arguments of selected frame
info locals local variables of selected frame
info reg [rn]
info all-reg [rn]register values [for reg rn]in selected
frame; all-reg includes floating point
info catch exception handlers active in selected frame
Execution Control
continue [count]
c[count]continue running; if count specified, ignore
this breakpoint next count times
step [count]
s[count]execute until another line reached; repeat
count times if specified
stepi [count]
si [count]step by machine instructions rather than
source lines
next [count]
n[count]execute next line, including any function
calls
nexti [count]
ni [count]next machine instruction rather than source
line
until [location]run until next instruction (or location)
finish run until selected stack frame returns
return [expr]pop selected stack frame without executing
[setting return value]
signal num resume execution with signal s(none if 0)
jump line
jump *address resume execution at specified line number or
address
set var=expr evaluate expr without displaying it; use for
altering program variables
Display
print [/f] [expr]
p[/f] [expr]show value of expr [or last value $]
according to format f:
xhexadecimal
dsigned decimal
uunsigned decimal
ooctal
tbinary
aaddress, absolute and relative
ccharacter
ffloating point
call [/f]expr like print but does not display void
x[/Nuf]expr examine memory at address expr; optional
format spec follows slash
Ncount of how many units to display
uunit size; one of
bindividual bytes
hhalfwords (two bytes)
wwords (four bytes)
ggiant words (eight bytes)
fprinting format. Any print format, or
snull-terminated string
imachine instructions
disassem [addr]display memory as machine instructions
Automatic Display
display [/f]expr show value of expr each time program stops
[according to format f]
display display all enabled expressions on list
undisplay nremove number(s) nfrom list of
automatically displayed expressions
disable disp ndisable display for expression(s) number n
enable disp nenable display for expression(s) number n
info display numbered list of display expressions