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 |
打印值及地址,简写p | |
quit | 退出gdb,简写q |
gdb命令拥有较多内部命令。在gdb命令提示符“(gdb)”下输入“help”可以查看所有内部命令及使用说明。要使用gdb调试程序,在使用gcc编译源代码时必须加上“-g”参数。
参考实例
启动gdb调试器:
[root@ezdcc ~]# gdb(gdb)
加载二进制可执行程序:
(gdb)file ezdcc.out
运行并跟踪程序:
(gdb)start