在 Ubuntu 下用 C++ 设置断点,通常是通过 GDB(GNU Debugger) 或 IDE(如 VS Code / CLion) 来实现的。下面按常见方式给你说明。
g++ -g main.cpp -o main
⚠️ 一定要加 -g,否则无法设置断点。
gdb ./main
break main # 在 main 函数处断点
break main.cpp:10 # 在 main.cpp 第10行断点
break MyClass::foo # 在类成员函数断点
run
next # 单步(不进入函数)
step # 单步(进入函数)
print x # 打印变量
continue # 继续执行
quit # 退出
break main.cpp:20 if i == 5
只有在 i == 5 时才会停下来。
sudo apt install gdb
code .
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"
}
]
}
F5 开始调试✅ 没加 -g → 断点无效
✅ 优化级别太高(-O2)→ 断点可能“跳行”
✅ 多文件项目 → 确保编译所有文件都带 -g
如果你愿意,可以告诉我:
我可以给你更具体的配置示例。