gdb基础入门使用
介绍
调试器,不用多说 https://www.gnu.org/software/gdb/
本文仅介绍初步入门命令和记录个人使用过程中用到过的命令,深入学习和高级命令请查看官网手册和其他优秀文章
启动
- 在编译的时候用-g参数保留调试信息
- gdb hello开始执行(有参数的程序直接传入
- 常用基本指令
1
2
3
4
5
6
7
8
9
10b(break) 断点 b 200 在200行断点
i(info) 查看信息 i b 表示 info break 查看断点信息
run 开始运行
c(continue) 继续运行
n(next) 单步跳过(不进函数)
s(step) 单步运行(进函数)
l(list) 查看代码 l 20,60 查看20~60行
p(print) 打印
h(help) 帮助
fini(finish) 运行直到函数返回
个人使用命令(持续更新ing)
i 查看信息
- i variables 查看有哪些全局、静态变量,支持正则筛选
bt(backtrace) 查看堆栈,可以用来看当前在多少行,和函数嵌套关系
disp(display) 自动显示变量,运行停止时打印变量
set 配置
- 配置打印出对象
1
2
3print *c
set print object on
set print pretty on调试命令行输入参数的程序
1
run arg1 arg2
layout命令
在命令行打开窗口,定位程序,开启后方向键不能调出前面的指令和调整位置1
2
3
4
5
6
7
8
9C-n 下一条指令
C-p 上一条指令
C-a 光标移到最前面
C-d 删除del
C-x a 退出窗口
layout src 查看源码
layout asm 查看汇编
layout split 查看源码和汇编
layout regs 查看寄存器和汇编自定义命令
1
define
刷新指令
1
refresh
参考链接
- https://blog.csdn.net/haoel/article/details/2879
- https://www.yanbinghu.com/2019/04/20/41283.html
- https://blog.csdn.net/mifan88/article/details/7301973
- 本文作者: Zheng Yuchen
- 本文链接: https://zycccccc.top/2020/12/20/gdb/gdb01-基础入门使用/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!