当前位置:首页 > Ubuntu > 正文

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

在Linux系统开发中,GDB(GNU Debugger) 是最常用、功能最强大的调试工具之一。无论你是刚接触编程的新手,还是有一定经验的开发者,掌握 Ubuntu GDB调试器使用教程 中的核心技巧,都能极大提升你排查程序错误的效率。

什么是GDB?

GDB 是 GNU 项目提供的开源调试器,支持 C、C++、Go、Rust 等多种语言。它允许你设置断点、单步执行、查看变量值、分析崩溃原因等,是 Linux 下不可或缺的 Ubuntu调试工具

Ubuntu GDB调试器使用教程(手把手教你用GDB调试Linux程序) GDB调试器使用教程 GDB调试入门 Ubuntu调试工具 Linux程序调试 第1张

第一步:安装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调试入门 命令:

  • listl:显示源代码
  • break mainb main:在 main 函数处设置断点
  • runr:运行程序(遇到断点会暂停)
  • nextn:单步执行(不进入函数内部)
  • steps:单步执行(会进入函数内部)
  • print variablep variable:打印变量的值
  • continuec:继续执行直到下一个断点
  • quitq:退出 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!