温馨提示×

Linux C++如何配置调试

小樊
36
2026-08-27 06:41:08
栏目: 编程语言

在 Linux 下配置 C++ 调试环境,通常离不开 编译器调试信息 + 调试器(GDB / LLDB)+ 编辑器 / IDE。下面我从最常用、最实用的角度一步步讲清楚。


一、基础:编译时生成调试信息

1️⃣ 使用 g++ / clang++ 编译

必须加 -g-g3

g++ -g -O0 -std=c++17 main.cpp -o app

参数说明:

参数 作用
-g 生成调试信息
-g3 包含更多宏信息(推荐)
-O0 关闭优化(否则变量可能被优化掉)
-std=c++17 指定 C++ 标准

没有 -g,调试器基本不可用


二、使用 GDB 调试(最常用)

1️⃣ 启动调试

gdb ./app

2️⃣ 常用 GDB 命令

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

3️⃣ 示例

gdb ./app
(gdb) break main
(gdb) run
(gdb) next
(gdb) print i

三、使用 VS Code(强烈推荐)

1️⃣ 安装必要工具

sudo apt install g++ gdb

2️⃣ 安装 VS Code 插件

  • C/C++(Microsoft)
  • GDB Debugger

3️⃣ 配置调试(launch.json)

示例:

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

然后按 F5 即可调试 ✅


四、使用 CMake 项目调试(推荐工程化)

1️⃣ CMakeLists.txt

set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")

或:

cmake -DCMAKE_BUILD_TYPE=Debug ..

2️⃣ 编译

make

3️⃣ 调试

gdb ./your_target

或 VS Code 直接调试 CMake 项目。


五、常见调试技巧

✅ 查看段错误位置

gdb ./app
run
bt

✅ 调试 core dump

ulimit -c unlimited
./app
gdb ./app core

✅ 条件断点

break test.cpp:20 if x == 5

六、推荐组合(新手 & 专业)

场景 推荐
初学者 g++ + gdb
日常开发 VS Code + gdb
大型项目 CMake + VS Code / CLion
高性能调试 gdb + core dump

七、如果你愿意,我可以帮你:

  • ✅ 配置 VS Code + CMake
  • ✅ 分析 段错误 / 崩溃
  • ✅ 写 GDB 实战调试示例
  • ✅ 对比 GDB vs LLDB

你可以直接说:

“我用的是 Ubuntu + VS Code,帮我一步步配置调试”

0