参考视频:https://www.bilibili.com/video/BV1vQ4y1N7Pv?spm_id_from=333.337.search-card.all.click
使用前准备
使用 -g 编译文件
编译时传递 -g 参数, 指示编译器,在编译的时候,产生调试信息。
默认输出a.out文件(如需要指定输出文件名,可使用 -o 后缀)
gcc -g test.c -o test.out
启动gdb:
gdb <file_name>
gdb test.out
常用指令(有颜色部分为命令示例)
指令 | 缩写 | 功能 |
---|---|---|
run | r | 执行 |
continue | c | 继续执行 |
next | n | 下一条指令(打印接下来执行的指令) |
quit | q | 退出 |
file | f | 打开文件(file text.out ) |
break | b | 打断点(文件名:行号 b test.c:7 或 函数名 b main ) |
step | s | 进入函数内部 |
list | l | 显示10行代码 |
p | 打印变量,函数,数组 |
其他指令
info:查询信息
缩写:i
info b
:查询断点信息
info reg
:查询寄存器信息
delete
缩写:d
删除所有断点
加入序号可删除指定的断点(序号可通过info命令查询)
快捷键
快捷键 | 功能 |
---|---|
Tab | 可输入的指令 |
Enter | 执行上一次输入的指令 |
上下箭头 | 历史指令 |