在Linux系统开发中,GDB(GNU Debugger) 是最常用、功能最强大的调试工具之一。无论你是刚接触编程的新手,还是有一定经验的开发者,掌握 Ubuntu GDB调试器使用教程 中的核心技巧,都能极大提升你排查程序错误的效率。
什么是GDB?
GDB 是 GNU 项目提供的开源调试器,支持 C、C++、Go、Rust 等多种语言。它允许你设置断点、单步执行、查看变量值、分析崩溃原因等,是 Linux 下不可或缺的 Ubuntu调试工具。
第一步:安装GDB
在 Ubuntu 系统中,GDB 通常不会默认安装。你可以通过以下命令安装:
sudo apt updatesudo apt install gdb
第二步:编译程序时加入调试信息
为了让 GDB 能够正确读取源代码和变量信息,编译程序时必须加上
-g参数:
gcc -g hello.c -o hello
这样生成的可执行文件
hello就包含了调试符号,GDB 才能进行源码级调试。
第三步:启动GDB并加载程序
使用以下命令启动 GDB 并加载你的程序:
gdb ./hello
此时你会进入 GDB 的交互式命令行界面,提示符为
(gdb)。
第四步:常用GDB调试命令
以下是几个最基础但非常实用的 GDB调试入门 命令:
list或
l:显示源代码
break main或
b main:在 main 函数处设置断点
run或
r:运行程序(遇到断点会暂停)
next或
n:单步执行(不进入函数内部)
step或
s:单步执行(会进入函数内部)
print variable或
p variable:打印变量的值
continue或
c:继续执行直到下一个断点
quit或
q:退出 GDB
第五步:实战示例
假设我们有如下 C 程序
buggy.c:
#include <stdio.h>int main() { int a = 5; int b = 0; int result = a / b; // 这里会导致除零错误 printf("Result: %d\n", result); return 0;} 编译并用 GDB 调试:
gcc -g buggy.c -o buggygdb ./buggy
在 GDB 中输入以下命令:
(gdb) break main(gdb) run(gdb) next(gdb) next# 此时程序会在除零处崩溃,GDB 会显示错误位置(gdb) print a(gdb) print b
通过这种方式,你可以快速定位到
b = 0导致的问题,这就是 Linux程序调试 的核心价值。
小贴士
使用info breakpoints查看所有断点 使用
delete [编号]删除指定断点 如果程序崩溃生成 core 文件,可以用
gdb ./program core分析崩溃现场
总结
通过本篇 Ubuntu GDB调试器使用教程,你应该已经掌握了 GDB 的基本用法。GDB 虽然命令行界面看起来“古老”,但其功能极其强大,是每一位 Linux 开发者必须掌握的 Ubuntu调试工具。多加练习,你就能熟练运用 GDB 快速定位和修复程序中的各种 Bug!
