在 Linux 下使用 VS Code 调试 C++ 程序,需要配置 编译环境、调试插件 和 launch.json
文件。以下是详细步骤:
1. 安装必要工具
(1) 安装编译器和调试器
# Ubuntu/Debian
sudo apt update
sudo apt install g++ gdb make cmake
# CentOS/RHEL
sudo yum install gcc-c++ gdb make cmake
(2) 安装 VS Code 插件
- C/C++(必装)
- CMake Tools(如需 CMake)
- Code Runner(可选,快速运行)
2. 创建 C++ 项目
假设项目结构如下:
my_project/
├── src/
│ └── main.cpp
├── include/
└── .vscode/
├── tasks.json # 编译任务配置
└── launch.json # 调试配置
(1) 示例代码
编辑 src/main.cpp
:
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 3;
cout << "a + b = " << a + b << endl;
return 0;
}
3. 配置编译任务
在 .vscode/tasks.json
中定义如何编译代码:
{
"version": "2.0.0",
"tasks": [
{
"label": "Build C++",
"type": "shell",
"command": "g++",
"args": [
"-g", // 生成调试信息
"${file}", // 当前文件
"-o",
"${fileDirname}/${fileBasenameNoExtension}" //输出可执行文件路径
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
}
]
}
快捷键:按
Ctrl+Shift+B
触发编译。
4.配置调试器
在 .vscode/launch.json
中设置调试参数:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", //配置名称
"type": "cppdbg", //调试类型(C++)
"request": "launch", //启动模式
"program": "${fileDirname}/${fileBasenameNoExtension}", //可执行文件路径
"args": [], //命令行参数
"stopAtEntry": false, //是否在入口暂停
"cwd": "${workspaceFolder}",//工作目录
"environment": [],
"externalConsole": false,
"MIMode": "gdb", //使用GDB调试器
"setupCommands":[{"description":"启用整齐打印","text":"-enable-pretty-printing","ignoreFailures”:true}]
}
]
}
5.开始调试
- 编译代码:按
Ctrl+Shift+B
。 - 设置断点:点击代码行号左侧。
- 启动调试:按
F5
或点击“运行和调试”侧边栏按钮。
6.CMake项目配置(可选)
如果使用 CMake,需额外步骤: 1.创建CMakeLists.txt:
cmake_minimum_required(VERSION3.10)
project(MyProject)
add_executable(my_program src/main.cpp)
2.VS Code中操作:
-打开包含CMakeLists.txt的文件夹。
-按Ctrl+Shift+P
输入“CMake:Configure”选择编译器(如GCC)。
-按F5自动生成并关联调试配置。
常见问题排查
问题 | 解决方案 |
---|---|
找不到头文件 | 在.vscode/c_cpp_properties.json 中设置包含路径(includePath ) |
GDB权限错误 | 运行命令:echo"set startup-with-shell off">~/.gdbinit |
无法进入STL源码 | 安装STL开发包:sudo apt install libstdc++6-dbg |
如果需要更复杂的多文件项目或库链接配置,可以进一步说明需求!
内容由零声教学AI助手提供,问题来源于学员提问