在 Ubuntu 系统上调试 C++ 程序,主要就是两种方式:通过命令行使用 GDB,或借助图形化的集成开发环境(IDE)。GDB 虽然界面比较“复古”,但胜在轻量、可控,是众多资深开发者首选的调试工具。如果你的系统中尚未安装 GDB,只需一条命令即可搞定:
sudo apt update
sudo apt install gdb
关键一步在于编译。务必记得在 g++ 后加上 -g 参数,这样生成的可执行文件才会包含完整的调试信息。举个例子:
g++ -g -o myprogram myprogram.cpp
调试的第一步是启动 GDB 并加载目标程序:
gdb myprogram
接下来的操作流程其实很固定。先设置断点——使用 break main 在 main 函数入口处暂停,或者 break 行号、break 函数名 也都可以。接着输入 run,程序就会自动运行到你指定的断点处停下。这时如果你需要单步执行,next(或简写 n)会跳过函数内部的细节,而 step(简写 s)则会进入函数内部逐步跟踪。想查看某个变量的当前值?使用 print variable_name(简写 p)即可直接显示。想继续运行?输入 continue(简写 c)直到下一个断点。一切调试完成后,quit 即可退出。

当然,如果你觉得命令行不够直观,也可以选择图形界面。例如 CLion 或 Visual Studio Code 安装对应的 C++ 插件和调试器后,就能享受变量监视、调用栈查看、表达式评估等更丰富的功能。但话说回来,GDB 的那套基本功还是得掌握——很多 IDE 底层的调试器实际上就是调用了 GDB。搞懂了底层原理,遇到复杂问题时才不会手忙脚乱。
