温馨提示×

Ubuntu C++如何调调试器

小樊
37
2026-09-26 14:36:33
栏目: 编程语言

在 Ubuntu 上用 C++ 调试,最常见的是使用 gdb(GNU Debugger),也可以配合 VS Code、CLion 等图形化工具。下面从基础命令行到图形化方式给你讲清楚。


一、准备工作(非常重要)

调试前必须带调试信息编译:

g++ -g -O0 main.cpp -o main
  • -g:生成调试信息
  • -O0:关闭优化(否则变量可能被优化掉)

二、使用 gdb(命令行调试器)

1. 启动 gdb

gdb ./main

2. 常用 gdb 命令

命令 作用
run / r 运行程序
break main 在 main 函数打断点
break 10 在第 10 行打断点
break funcname 在函数处打断点
next / n 单步执行(不进入函数)
step / s 单步执行(进入函数)
print x / p x 打印变量
continue / c 继续执行
backtrace / bt 查看调用栈
frame 1 切换到栈帧
quit 退出 gdb

示例

(gdb) break main
(gdb) run
(gdb) next
(gdb) print a

三、调试崩溃(Segmentation fault)

gdb ./main
run

崩溃后输入:

bt

可以看到崩溃在哪一行。


四、使用 VS Code(推荐,图形化)

1. 安装

sudo apt install gdb
code .

2. 配置调试

  • 安装 C/C++ 插件
  • 点击 Run → Add Configuration → C++ (GDB)
  • 自动生成 launch.json

示例:

{
  "name": "C++ Debug",
  "type": "cppdbg",
  "request": "launch",
  "program": "${workspaceFolder}/main",
  "miDebuggerPath": "/usr/bin/gdb",
  "stopAtEntry": false
}

3. 打断点 → F5 启动


五、使用 CMake + 调试

cmake -DCMAKE_BUILD_TYPE=Debug ..
make
gdb ./your_program

或 VS Code 直接选 Debug 配置。


六、其他调试工具(进阶)

  • valgrind:内存泄漏
valgrind ./main
  • lldb(LLVM 调试器)
  • gdbgui(网页版 gdb)

七、新手推荐组合

✅ Ubuntu + g++ -g + VS Code + gdb

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

  • 你是纯命令行还是图形界面
  • 用的是 Makefile / CMake / 单文件

我可以给你针对性的调试示例。

0 踩