文件管理 · 2022年02月20日 0

gdb命令 – GUN调试器

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@anycode ~]# gdb (gdb) ``` 加载二进制可执行程序: ``` (gdb)file linuxcool.out ``` 运行并跟踪程序: ``` (gdb)start ```