在 Linux 下配置 C++ 调试环境,通常离不开 编译器调试信息 + 调试器(GDB / LLDB)+ 编辑器 / IDE。下面我从最常用、最实用的角度一步步讲清楚。
g++ / clang++ 编译必须加 -g 或 -g3
g++ -g -O0 -std=c++17 main.cpp -o app
参数说明:
| 参数 | 作用 |
|---|---|
-g |
生成调试信息 |
-g3 |
包含更多宏信息(推荐) |
-O0 |
关闭优化(否则变量可能被优化掉) |
-std=c++17 |
指定 C++ 标准 |
✅ 没有 -g,调试器基本不可用
gdb ./app
| 命令 | 说明 |
|---|---|
run / r |
运行程序 |
break main |
在 main 设断点 |
break test.cpp:10 |
在指定行设断点 |
next / n |
下一行(不进入函数) |
step / s |
进入函数 |
print x |
打印变量 |
backtrace / bt |
查看调用栈 |
continue / c |
继续执行 |
quit / q |
退出 |
gdb ./app
(gdb) break main
(gdb) run
(gdb) next
(gdb) print i
sudo apt install g++ gdb
示例:
{
"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 即可调试 ✅
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
或:
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
gdb ./your_target
或 VS Code 直接调试 CMake 项目。
gdb ./app
run
bt
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 |
你可以直接说:
“我用的是 Ubuntu + VS Code,帮我一步步配置调试”