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 |