调试器 - gdb/cgdb使⽤
| 命令 | 作用 | 样例 |
list/l | 显⽰源代码,从上次位置开始,每次列出10⾏ | list/l 10 |
list/l函数名 | 列出指定函数的源代码 | list/l main |
list/l⽂件名:⾏号 | 列出指定⽂件的源代码 | list/l mycmd.c:1 |
r/run | 从程序开始连续执⾏ | run |
n/next | 单步执⾏,不进⼊函数内部, 逐过程 F10 | next |
s/step | 单步执⾏,进⼊函数内部, 逐语句 F11 | step |
break/b[⽂件名:]⾏号 | 在指定⾏号设置断点 | break 10 break test.c:10 |
break/b函数名 | 在函数开头设置断点 | break main |
info break/b | 查看当前所有断点的信息 | info break |
finish | 执⾏到当前函数返回,然后停⽌ | finish |
print/p 表达式 | 打印表达式的值 | print start+end |
p 变量 | 打印指定变量的值 | p x |
set var变量=值 | 修改变量的值 | set var i=10 |
continue/c | 从当前位置开始连续执⾏程序 | continue |
delete/d breakpoints | 删除所有断点 | delete breakpoints |
delete/d breakpoints n | 删除序号为n的断点 | delete breakpoints 1 |
disable breakpoints | 禁⽤所有断点 | disable breakpoints |
enable breakpoints | 启⽤所有断点 | enable breakpoints |
info/i breakpoints | 查看当前设置的断点列表 | info breakpoints |
display变量名 | 跟踪显⽰指定变量的值(每次停⽌时) | display x |
undisplay编号 | 取消对指定编号的变量的跟踪显⽰ | undisplay 1 |
until X⾏号 | 执⾏到指定⾏号 | until 20 |
backtrace/bt | 查看当前执⾏栈的各级函数调⽤及参数 | backtrace |
info/i locals | 查看当前栈帧的局部变量值 | info locals |
quit | 退出GDB调试器 | quit |