Gnu Debugger (GDB)
GDB is a tool for debugging programs. It consists of a server and a
client. The GDB server runs, controls, and monitors the debugged
program. The client can send commands such as setting breakpoints or
performing single instruction steps.
Usage
compile your binary with the gcc debug option -g
start gdb with your binary gdb BINARY
set a breakpoint b main.c:12
run the program run
on break: inspect variables with p myvar
Commands
Usage
Description
b
file:line
set breakpoint in file at line
run [
arglist ]
start your program [with arglist]
p
expr
display the value of an expression
i
command
display info
for command, e.g. i b
Program Flow
Short
Description
continue
c
continiues program execution
next
n
execute one line of code (step over)
step
s
execute a single instruction (step into)
finish
executes the current subprogram (step out)
Stack
Description
bt
print backtrace
frame
display current frame
up
move one frame up
down
move one frame down
References