To start / exit GDB
|
| gdb [prog] |
Load the program [prog] into GDB. |
| gdb --args [prog] [arg1 arg2 ...] |
Load the program [prog] into GDB with the parameters
[arg1 arg2 ...]
|
| gdb [prog] [core-file] |
Load the core-dump of the program [prog]
into GDB. |
|
q ou quit
|
Exit GDB. |
Running a program
|
|
r ou run
|
Starts the execution of the program loaded in gdb. |
| r [arg1 arg2 ...] |
Starts the execution of the program loaded in gdb with the parameters
[arg1 arg2 ...] . |
| set [args arg1 arg2 ...] |
Select the list of arguments ( [arg1 arg2 ...] ) for the
next program to start. |
Examining a running processSelect the stack frameSelect the stack frame [x] . [x] .
|
|
p [var] ou print [var]
|
Displays the value of the [var] variable. |
| p/x [var] |
Displays the hexadecimal value of the [var] variable. |
| display [var] |
Displays the value of the [var] variable each time the
program stops. |
|
bt ou backtrace
|
Prints the call stack. |
| frame |
Prints the current stack frame . |
| frame [x] |
Select the stack frame [x] . |
|
l ou list
|
Print the portion of code around the selected stack frame . |
Monitoring the execution of a process
|
|
b [pos] ou break [pos]
|
Sets a breakpoint at the location [pos] .
[pos] can be a function name, a line number (in the current file), a
file name + line number ( break my_file: 57 ), etc. |
| clear [pos] |
Remove the breakpoint positioned at the [pos] location. |
|
d [num] ou delete [num]
|
Removes the breakpoint number [num] . |
|
w [var] ou watch [var]
|
Monitors the state of the [var] variable. |
Control the execution of a process
|
|
n ou next
|
Single step. |
|
s or step
|
Single step. If the instruction to be executed is a function
call, do not descend in the function. |
|
c ou continue
|
Continue execution until the next breakpoint . |
Threads
|
| info threads |
Displays the list of threads running in the process. |
| thread [x] |
Positions on the [x] thread. |
| break [pos] thread [x] |
Adds a breakpoint to [pos] only for the thread [x] . |
Assembly
|
| disassemble [function] |
Display the assembly code of the function [function] . |
| info registers |
Displays the value of registers. |
| p $[register] |
Displays the value of a register. Example: print $ eax . |
Reverse debugging
|
| record |
Starts recording the process execution. |
| record stop |
Stop recording. |
|
rs ou reverse-step
|
Same as step , but backwards. |
|
rn ou reverse-next
|
Same as next , but backwards. |
|
rc ou reverse-continue
|
Same as continue , but backwards. |
| set can-use-hw-watchpoints 0 |
Allows the use of watchpoints in reverse debugging. |
Others
|
|
break [pos] if [cond] |
Stops the process at [pos] if the condition [cond] is true. |
|
up |
Go to the next stack frame in the stack. |
|
down |
Go to the previous stack frame in the stack. |
|
attach [pid] |
Attach GDB to the process [pid] . |
|
detach |
Detach a process from GDB. |
|
set env [var]=[value] |
Assigns the value [value] to the environment variable
[var] . |