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

Debian GDB调试器使用教程(手把手教你用GDB在Debian系统中调试C/C++程序)

在软件开发过程中,调试是必不可少的一环。对于使用 Debian 系统的开发者来说,GDB(GNU Debugger) 是一个强大且免费的命令行调试工具,特别适合调试 C/C++ 程序。本篇 Debian GDB调试器使用教程 将从零开始,带你一步步掌握 GDB 的基本用法,即使是编程小白也能轻松上手!

一、什么是 GDB?

GDB 是 GNU 项目提供的开源调试器,支持多种语言(主要是 C、C++、Go、Rust 等),可以在程序运行时查看变量、设置断点、单步执行、查看调用栈等,是 Linux 下最常用的调试工具之一。

Debian GDB调试器使用教程(手把手教你用GDB在Debian系统中调试C/C++程序) GDB调试器使用教程 GDB调试入门 Debian下使用GDB 程序调试工具GDB 第1张

二、在 Debian 中安装 GDB

Debian 系统通常不预装 GDB,但安装非常简单。打开终端,执行以下命令:

sudo apt updatesudo apt install gdb  

安装完成后,可通过以下命令验证是否安装成功:

gdb --version  

三、编写一个用于调试的示例程序

为了演示 GDB 的使用,我们先写一个简单的 C 程序 hello.c

#include <stdio.h>int main() {    int a = 10;    int b = 0;    int result = a / b;  // 这里会引发除零错误    printf("Result: %d\n", result);    return 0;}  

四、编译程序并启用调试信息

要让 GDB 能够调试源代码,必须在编译时加入 -g 参数以包含调试符号:

gcc -g -o hello hello.c  

注意:不要使用 -O2-O3 等优化选项,否则变量可能被优化掉,影响调试效果。

五、使用 GDB 调试程序

现在,启动 GDB 并加载我们的程序:

gdb ./hello  

进入 GDB 后,你会看到类似如下的提示符:

(gdb)  

常用 GDB 命令一览:

  • listl:显示源代码
  • break [行号/函数名]b:设置断点
  • runr:运行程序
  • nextn:单步执行(不进入函数)
  • steps:单步执行(进入函数)
  • print [变量名]p:打印变量值
  • continuec:继续运行到下一个断点
  • backtracebt:查看函数调用栈
  • quitq:退出 GDB

实战调试步骤:

1. 设置断点在第 6 行(即除法操作前):

(gdb) break 6  

2. 运行程序:

(gdb) run  

3. 程序会在第 6 行暂停。此时可以查看变量 ab 的值:

(gdb) print a$1 = 10(gdb) print b$2 = 0  

4. 继续执行,程序会因除零错误崩溃。此时可使用 bt 查看调用栈:

(gdb) continueProgram received signal SIGFPE, Arithmetic exception.0x000055555555514b in main () at hello.c:66           int result = a / b;(gdb) bt#0  0x000055555555514b in main () at hello.c:6  

六、小贴士

  • 使用 help 命令可查看所有 GDB 命令帮助。
  • 若想退出 GDB 并终止被调试程序,输入 quit 并确认即可。
  • 对于更复杂的项目,建议结合 Makefile 和 -g 编译选项统一管理。

七、总结

通过本篇 Debian GDB调试器使用教程,你应该已经掌握了在 Debian 系统中安装 GDB、编译带调试信息的程序、设置断点、查看变量和分析崩溃原因等核心技能。GDB 虽然是命令行工具,但功能极其强大,是每个 C/C++ 开发者必备的 程序调试工具GDB

无论你是刚接触 Linux 编程的新手,还是希望提升调试效率的开发者,掌握 GDB调试入门 技巧都将让你事半功倍。快在你的 Debian下使用GDB 实践起来吧!