在Ubuntu下配置C++调试工具,常用方案为GDB+VS Code,步骤如下:
sudo apt update
sudo apt install gdb
sudo apt install build-essential
tasks.json
(编译任务).vscode
文件夹中创建文件,内容示例:{
"version": "2.0.0",
"tasks": [
{
"label": "Build C++",
"type": "shell",
"command": "g++",
"args": [
"-g", // 生成调试信息
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": { "kind": "build", "isDefault": true }
}
]
}
launch.json
(调试任务){
"version": "0.2.0",
"configurations": [
{
"name": "Debug C++",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"preLaunchTask": "Build C++" // 关联编译任务
}
]
}
g++ -g -o my_program my_program.cpp
gdb ./my_program
命令 | 功能 | 示例 |
---|---|---|
break main |
在main 函数设置断点 |
break 10 (行号) |
run |
运行程序 | |
next |
单步跳过函数调用 | |
step |
单步进入函数 | |
print x |
查看变量x 的值 |
|
backtrace |
查看调用堆栈 | |
quit |
退出调试 |
sudo apt install valgrind
valgrind --leak-check=yes ./my_program
gdb-dashboard
(美化界面),需额外配置。以上配置可快速搭建C++调试环境,VS Code适合图形化操作,GDB命令行适合轻量级调试。