Ubuntu GDB调试器使用教程(手把手教你用GDB调试Linux程序)

来源:这里教程网 时间:2026-03-28 12:50:29 作者:

在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!

相关推荐

热文推荐