GDB - List of Commands
Basic Commands
| Command | Short version | Description | 
|---|---|---|
| run | r | The run command causes execution of the program to start from the beginning | 
| quit | q | Exit GDB debugger | 
| breakpoint location | b location | The breakpoint command sets a breakpoint in a certain location. (line, function, etc) | 
| print expression | p expression | This will print the value of the given expression. | 
| continue | c | Continues execution following a breakpoint, until the next breakpoint or the termination of the program. | 
| step | s | Executes a single line after a breakpoint. | 
| next | n | Executes a single line. If this line is a subprogram call, executes and returns from the call. | 
| list | l | Lists a few lines around the current source location. | 
| backtrace | bt | Displays a backtrace of the call chain. | 
Execution control
| Command | Short version | Description | 
|---|---|---|
| run | r | Start program execution | 
| run command-line-arguments | r command-line-arguments | Start program execution | 
| run < stdin-file > stdout-file | r < stdin-file > stdout-file | Start program execution with IO redirection | 
| continue | c | Continues program execution until encounters a breakpoint | 
| kill | Kills the current process | |
| quit | q | Exit GDB debugger | 
Breakpoint management
| Command | Description | 
|---|---|
| break function-name | Set a breakpoint at specified function | 
| break line-number | Set a breakpoint at specified line number | 
| break ClassName::functionName | Set a breakpoint at specified class function | 
| break +offset | Set a breakpoint specified number of lines forward from the current position | 
| break -offset | Set a breakpoint specified number of lines back from the current position | 
| break filename:function | Set a breakpoint at specified function inside a file | 
| break filename:line-number | Set a breakpoint at specified line number of a file | 
| break *address | Set a breakpoint at specified instruction address | 
| break line-number if condition | Set a breakpoint if the condition is met | 
| break line thread thread-number | Set a breakpoint in the thread specified by the line number | 
| tbreak | Set a temporary break (break once only) | 
| watch condition | Suspend execution when the condition is met | 
| clear | Delete breakpoints | 
| clear function | Delete all breakpoints in function | 
| clear line-number | Delete breakpoints at specified line number | 
| delete | Delete all breakpoints, watchpoints, or catchpoints | 
| delete breakpoint-number | Delete the breakpoint specified | 
| delete breakpoint-number-breakpoint-number | Delete the breakpoints inside the specified range. ex: delete 1-4 | 
| disable breakpoint-number | Disable the breakpoint specified | 
| disable breakpoint-number-breakpoint-number | Disable the breakpoints inside the specified range, ex: disable 1-4 | 
| enable breakpoint-number | Enable the breakpoint specified | 
| enable breakpoint-number-breakpoint-number | Enable the breakpoints inside the specified range, ex: enable 1-4 | 
Analyse stack
| Command | Short version | Description | 
|---|---|---|
| backtrace | bt | Print stack backtrace | 
| backtrace full | Print values of local variables | |
| frame | f | Show current stack frame | 
| frame number | f number | Show the specified frame number | 
| up | Move up a single frame | |
| down | Move down a single frame | |
| up number | Move up the specified number of frames in the stack | |
| down number | Move down the specified number of frames in the stack | |
| info frame | List address, language, address of arguments/local variables and which registers were saved in a frame. | |
| info args | Info arguments of the selected frame | |
| info locals | Info arguments of the selected local variables | |
| info catch | Info arguments of the selected exception handlers | 
