All is well that ends well.结果好就是好。
个人主页:阿润菜菜
简介
GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。
Windows 操作系统中,我们更习惯使用一些已经集成好的开发环境(IDE),如 VS、VC、Dev-C++ 等,它们的内部已经嵌套了相应的调试器。但是正如从事 Windows C/C++ 开发的一定要熟悉 Visual Studio、从事 Java 开发的要熟悉 Eclipse 或 IntelliJ IDEA、从事 Android 开发的要熟悉 Android Studio、从事 iOS 开发的要熟悉 XCode 一样,从事 Linux C/C++ 开发要熟悉 GDB。“工欲善其事、必先利其器”,作为一名合格的软件开发者,至少得熟悉一种软件开发工具和调试器, 对于 Linux C/C++ 后台开发,掌握GDB的使用显得尤为重要
使用方法
安装:
Centos下:sudo yum -y install gdb
Ubuntu下:sudo apt-get -y install gdb
GDB调试的对象
gdb调试对象一定要是可执行文件而不是.c文件 。且应该是gcc编译生成的debug版本,这样才可以通过gdb对程序进行调试。
具体gcc命令如下:
gcc -g 源文件.c -o 目标文件
-g,-o参数缺一不可
mytest_g:mytest.c gcc mytest.c -g -o mytest
常用命令表
命令名称 | 缩写 | 说明 |
---|---|---|
run | r | 调试运行 |
break | b +行号 | 添加断点 |
info | info | 调试相关详细信息显示 info b 查看断点 info locals 显示当前局部变量信息 |
enable | enable | 启用某个断点 |
disable | disable | 禁用某个断点 |
delete | d + 编号 | 删除某个断点 |
list | l | 显示代码 |
backtrace | bt | 查看当前线程调用的堆栈 |
next | n | 单步调试 (逐过程,函数直接执行) |
step | s | 单步调试 (逐语句:跳入自定义函数内部执行) |
continue | c | 继续运行到下一个断点处 |
finish | fi | 结束当前调用函数, 回到上一层函数调用处 |
p | 单次查看变量值或内存地址 | |
display | display | 追踪查看变量值或内存地址 类似(监视窗口) |
undisplay | undisplay | 取消追踪查看变量 |
until | u + 行号 | 跳转到指定行 |
set var | set var | 设置变量的值 |
quit | q | 退出gdb |
本节完