在 Ubuntu 下调试 C++,常见做法是 使用 GDB / LLDB + 编辑器(VSCode / Vim / CLion)。下面按由简到全的方式给你配置说明。
sudo apt update
sudo apt install build-essential gdb
g++ -g -O0 main.cpp -o main
gdb ./main
常用 GDB 命令:
break main # 设置断点
run # 运行
next # 单步(不进函数)
step # 单步(进函数)
print x # 打印变量
backtrace # 查看调用栈
quit # 退出
sudo apt install code
或官网下载 .deb
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g", "-O0",
"main.cpp",
"-o", "main"
]
}
]
}
.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"preLaunchTask": "build",
"MIMode": "gdb"
}
]
}
按 F5 即可调试。
cmake_minimum_required(VERSION 3.10)
project(demo)
set(CMAKE_BUILD_TYPE Debug)
add_executable(demo main.cpp)
mkdir build && cd build
cmake ..
make
"program": "${workspaceFolder}/build/demo",
"preLaunchTask": "build"
✅ 必须:
-g -O0
GDB 中:
set print pretty on
info threads
thread 2
sudo apt install valgrind
valgrind ./main
g++ -g -fsanitize=address main.cpp
如果你用的是 VSCode / CMake / 具体项目结构,可以告诉我,我可以直接帮你写完整配置。