gdb命令包含在GNU的gcc开发套件中,是功能强大的程序调试器。
gdb中的命令很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。
语法格式:gdb [参数] [文件]
常用参数:
-cd |
设置工作目录 |
-q |
安静模式,不打印介绍信息和版本信息 |
-d |
添加文件查找路径 |
-x |
从指定文件中执行GDB指令 |
-s |
设置读取的符号表文件 |
常用命令:
file <文件名> |
加载被调试的可执行程序文件 |
run |
重新开始运行文件 |
start |
单步执行,运行程序,停在第一执行语句 |
list |
查看原代码,简写l |
set |
设置变量的值 |
next |
单步调试(逐过程,函数直接执行),简写n |
step |
单步调试(逐语句:跳入自定义函数内部执行),简写s |
backtrace |
查看函数的调用的栈帧和层级关系,简写bt |
frame |
切换函数的栈帧,简写f |
info |
查看函数内部局部变量的数值,简写i |
finish |
结束当前函数,返回到函数调用点 |
continue |
继续运行,简写c |
print |
打印值及地址,简写p |
quit |
退出gdb,简写q |
gdb命令拥有较多内部命令。在gdb命令提示符“(gdb)”下输入“help”可以查看所有内部命令及使用说明。要使用gdb调试程序,在使用gcc编译源代码时必须加上“-g”参数。
参考实例
启动gdb调试器:
[root@linuxcool ~]# gdb
(gdb)
加载二进制可执行程序:
(gdb)file linuxcool.out
运行并跟踪程序:
(gdb)start