1. GDB调试工具概述
GDB(GNU Debugger)是Linux环境下最常用的程序调试工具之一,它能够帮助开发者快速定位和修复代码中的错误。作为一个命令行调试器,GDB支持多种编程语言(C/C++为主),提供了强大的断点设置、变量查看、堆栈跟踪等功能。
我第一次接触GDB是在大学操作系统课程实验中,当时面对一个导致系统崩溃的段错误(Segmentation Fault),在printf调试无效后,教授建议尝试GDB。通过简单的backtrace命令,我立即找到了问题所在的行号,这种高效的调试体验让我印象深刻。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. GDB基础使用指南
2.1 环境准备与安装
在Ubuntu/Debian系统上安装GDB非常简单:
bash复制sudo apt-get update
sudo apt-get install gdb
对于需要调试的程序,编译时必须包含调试信息:
bash复制gcc -g main.c -o demo
关键提示:-g选项会向可执行文件中添加调试符号,这是GDB正常工作的前提。生产环境发布时应去掉该选项以减少体积。
2.2 启动与基本命令
启动GDB调试会话的两种方式:
- 直接调试可执行文件:
bash复制gdb ./demo
- 附加到正在运行的进程:
bash复制gdb -p <PID>
常用基础命令速查表:
| 命令 | 简写 | 功能说明 |
|---|---|---|
| run | r | 开始执行程序 |
| break | b | 设置断点 |
| next | n | 单步执行(不进入函数) |
| step | s | 单步执行(进入函数) |
| continue | c | 继续运行直到下一个断点 |
| p | 打印变量值 | |
| backtrace | bt | 显示调 |
