温馨提示×

ubuntu c++调试工具如何设置

小樊
41
2026-08-01 20:01:55
栏目: 编程语言

在 Ubuntu 上调试 C++ 程序,最常用、最成熟的方案是 GDB + GCC/G++,也可以配合 VS CodeCMake 使用。下面按常见场景给你一个完整说明。


一、基础环境准备

1. 安装编译和调试工具

sudo apt update
sudo apt install build-essential gdb

验证:

g++ --version
gdb --version

二、编译时开启调试信息(非常重要)

1. 使用 g++ 编译

g++ -g -O0 main.cpp -o main

说明:

  • -g:生成调试信息(必须)
  • -O0:关闭优化(否则变量可能被优化掉)

没有 -g 就无法用 GDB 正常调试


三、使用 GDB 调试(命令行)

1. 启动调试

gdb ./main

2. 常用 GDB 命令

命令 作用
run / r 运行程序
break main 在 main 函数设断点
break test.cpp:10 在第 10 行设断点
next / n 下一行(不进入函数)
step / s 进入函数
print x 打印变量
watch x 监视变量变化
backtrace / bt 查看调用栈
continue / c 继续执行
quit 退出

示例:

break main
run
next
print i

四、调试带参数的程序

gdb --args ./main arg1 arg2

或在 gdb 中:

set args arg1 arg2
run

五、调试崩溃(Segmentation fault)

1. 运行程序直到崩溃

./main

2. 使用 gdb 查看崩溃位置

gdb ./main
run
bt

bt 会显示调用栈,通常能直接定位问题行。


六、使用 VS Code 调试(推荐)

1. 安装 VS Code

sudo snap install code --classic

2. 安装插件

  • C/C++(Microsoft)

3. 编译程序

g++ -g main.cpp -o main

4. 配置调试(launch.json)

示例:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C++ Debug",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/main",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

然后按 F5 开始调试。


七、使用 CMake 项目调试

1. CMakeLists.txt

set(CMAKE_BUILD_TYPE Debug)

或:

cmake -DCMAKE_BUILD_TYPE=Debug ..

2. 编译

make

然后同样用 GDB 或 VS Code 调试。


八、常见问题

1. 看不到变量?

  • 忘记加 -g
  • 开了 -O2 优化
  • 变量被优化掉(用 -O0

2. 调试 STL 容器看不清?

在 gdb 中:

set print pretty on

或安装:

sudo apt install gdb-python

九、总结(快速上手)

✅ 最小调试流程:

sudo apt install build-essential gdb
g++ -g -O0 main.cpp -o main
gdb ./main

如果你愿意,可以告诉我:

  • 命令行调试 还是 VS Code
  • 是否使用 CMake
  • 是否是 多线程 / 崩溃 / 性能问题

我可以给你更针对的配置方案。

0