简单介绍
在Linux下,GDB是一个强大的命令行调试工具,其工作方式是字符工作方式。
调试过程一般是以下四个步骤:
(1)运行被调试程序,设置所有影响程序运行的变量或参数
(2)被调试程序会在指定条件下停止运行
(3)当被调试程序停止时,工程师可以从中得到相关信息,检查运行情况
(4)根据每次调试器的提示信息来做相应的改变。如修正某个错误引起的问题,然后继续查找别的错误
支持调试的编程语言有:C++、C、Java、FORTRAN、Pascal等。在使用时,GDB会根据所调试的程序文件扩展名来确定相应的调试语言,无需额外操作来指定。例如,当文件扩展名为.c,GDB会认为这是C程序;扩展名为.cc、.cpp、.cp、.cxx的,都认为是C++程序。
运行GDB命令的格式:gdb programname
,其中programname是要调试的编译后的程序
常用命令
命令 | 含义 | 简写 |
---|---|---|
run | 运行当前要调试的程序 | r |
where | 显示出错的地方 | |
list | 列出当前调试程序的源代码文本 | l |
help | 显示GDB命令的种类 | |
sheel | 在不退出GDB环境下,执行Shell命令 | |
break n | 设置断点,n对应源代码程序文本的行号 | b n |
next | 执行一行源代码,但不进入函数内部 | |
step | 执行一行源代码,且进入函数内部 | |
continue | 恢复程序继续运行 | c |
make | 使用户在不退出GDB环境下,重新编译产生可执行程序文件 | |
quit | 退出GDB环境 | q |
print variable | 查看变量variable的值 | p variable |
set variable=value | 设置或修改变量variable的值 |
使用演示
环境:Ubuntu 16.04 64位
示例代码1:
GDB调试: