温馨提示×

ubuntu c++如何设置断点

小樊
37
2026-10-08 07:17:30
栏目: 编程语言

在 Ubuntu 下用 C++ 设置断点,通常是通过 GDB(GNU Debugger) 或 IDE(如 VS Code / CLion) 来实现的。下面按常见方式给你说明。


一、使用 GDB 命令行设置断点(最基础)

1. 编译时加调试信息

g++ -g main.cpp -o main

⚠️ 一定要加 -g,否则无法设置断点。

2. 启动 GDB

gdb ./main

3. 设置断点

break main              # 在 main 函数处断点
break main.cpp:10       # 在 main.cpp 第10行断点
break MyClass::foo      # 在类成员函数断点

4. 运行程序

run

5. 常用调试命令

next        # 单步(不进入函数)
step        # 单步(进入函数)
print x     # 打印变量
continue    # 继续执行
quit        # 退出

二、使用条件断点(很实用)

break main.cpp:20 if i == 5

只有在 i == 5 时才会停下来。


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

1. 安装

sudo apt install gdb
code .

2. 配置 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"
    }
  ]
}

3. 设置断点

  • 在代码行号左侧点击即可
  • 按 F5 开始调试

四、使用 CLion(最方便,但是收费)

  • 直接点击行号左侧
  • 支持条件断点、内存查看、调用栈

五、常见坑

✅ 没加 -g → 断点无效
✅ 优化级别太高(-O2)→ 断点可能“跳行”
✅ 多文件项目 → 确保编译所有文件都带 -g


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

  • 用的是 命令行还是 IDE
  • 是 单文件还是大型项目
  • 是否使用 CMake

我可以给你更具体的配置示例。

0 踩