需要使用GDB调试的程序,在编译的时候必须加-g参数,开启调试信息。运行GDB调试程序通常使用如下方式:
$ gdb <程序名称>
在GDB的命令提示符,输入help,能够得到GDB命令的分类,主要有:
aliases | 命令别名 |
beakpoints | 断点设置 |
data | 数据查看 |
files | 指定和检查文件 |
internals | 维护命令 |
running | 运行命令 |
stack | 检查堆栈 |
status | 状态查看 |
tracepoints | 跟踪程序 |
进入GDB命令提示符后,输入help以及上述的命令分类,能够获得这类命令的所有信息。下表列出了一些在使用GDB调试时会经常用到的一些命令,更多命令可以从GDB的指南中获得。
命令 | 描述 |
break | 设置断点:break+要设置断点的行号 |
clear | 清除断点:clear+要清除断点的行号 |
delete | 用于清除断点和自动显示的表达式的命令 |
disable | 让所设断点暂时失效。如果要让多个编号处的断点失效可将编号用空格隔开 |
enable | 与disable相对 |
run | 运行调试程序 |
countinus | 继续执行正在调试的程序 |
file | 装入要调试的可执行文件 |
kill | 终止正在调试的程序 |
list | 列出产生执行文件的源代码的一部分 |
next | 执行一行源代码但不进入函数内部 |
step | 执行一行源代码而且进入函数内部 |
run | 执行当前被调试的程序 |
quit | 终止gdb |
watch | 监视一个变量的值而不管它何时被改变 |
make | 在GDB中重新产生可执行文件 |
shell | 在gdb中执行Unix shell命令 |