目录
一 . 介绍
1 . gdb -- 调试代码的工具
2 . 既然是调试,那么需要在debug模式下调试;但在linux下,gcc test.c 默认生成的可执行程 序为release 版本。
3 . 如何让生成的可执行程序为debug模式?
gcc -o mybin test.c -g
4 . 如何直观地确定可执行程序为debug版本?
readelf -S mybin | grep -i debug
如果是debug版本,那么会显示debug;如果是release版本,那么不会显示debug。
二 . gdb指令介绍
1 . gdb 可执行程序:gdb开始使用
2 . quit :退出gdb
3 . l number(行号) : 显示从number开始的代码
gdb会记录最近的历史命令,直接回车就是上一个命令
4 . 打断点 :b number / file(源文件):number / file : function(函数) / function
5 . 查看断点 : info b
6 . 调试(F5): r
7 . enable 编号 : 开启断点 disable 编号 : 关闭断点
8 . 逐语句(F11) :s
9 . 逐过程(F10) : n
10 . display 变量名 / 变量名的地址 : 长时间显示变量 undisplay 变量名 / 变量名的地址 : 取消
11 . until 行号 : 运行到指定位置
12 . finish : 在某个函数里时执行,直接运行到函数末尾
13 . c : 从现在的这个断点运行到下一个断点
14 . bt : 查看调用堆栈
15 . set var 变量 : 更改变量的值
16 . info locals : 显示全部变量