vscode调试多C++文件项目
由于之前都是在vs上调试c++项目,现在觉得vs很重,而且对vim用户不太友好,所以就想着都用vsc来做开发,首先来解决调试问题。
没有用makefile管理
1. 安装必要的扩展
- C/C++:微软提供的 C/C++ 扩展,支持语法高亮、代码补全和调试功能。
- C/C++ Runner(C/C++ Runner by franneck94):有助于在项目中管理编译和调试过程。
2. 创建和配置多文件项目
首先,需要在 VSCode 中创建一个包含多个源文件的 C/C++ 项目。有以下结构:
project/
├── main.c
├── utils.c
├── utils.h
└── .vscode/
├── tasks.json
└── launch.json
3. 配置编译任务(tasks.json)
在多文件项目中,你需要配置 tasks.json 来指定如何编译所有源文件。
在 .vscode 文件夹下创建或打开 tasks.json 文件。
配置任务来编译多文件项目:
{
"version": "2.0.0",
"tasks": [
{
"label": "build all",
"type": "shell",
"command": "gcc",
"args": [
"main.c",
"utils.c",
"-o",
"output.exe", // 生成可执行文件的名称
"-g" // 生成调试信息
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"],
"detail": "编译多个源文件"
}
]
}
label:任务的名称,可以自定义。
command:使用 gcc 来编译 C 文件。
args:指定要编译的所有源文件,以及输出文件的名称。
-g:用于生成调试符号,以便于调试。
可以使用 Ctrl+Shift+B 快捷键来运行这个编译任务。一定要注意先编译出可执行文件
4. 配置调试(launch.json)
为了在调试时能够指定编译生成的可执行文件,需要创建或修改 launch.json 文件。
在 .vscode 文件夹下创建或打开 launch.json 文件。
配置调试启动项:
{
"version": "0.2.0",
"configurations": [
{
"name": "GDB Debugging",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/output.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build all",
"miDebuggerPath": "/usr/bin/gdb", // 或 Windows 上的 gdb.exe 路径
"internalConsoleOptions": "openOnSessionStart"
}
]
}
name:调试配置的名称。
type:选择 cppdbg 作为调试类型。
program:可执行文件的路径(例如 ${workspaceFolder}/output.exe)。
cwd:当前工作目录,通常设置为 ${workspaceFolder}。
preLaunchTask:指定编译任务,在调试前自动运行编译。
miDebuggerPath:指定 GDB 的路径。对于 Windows 上,可以安装 MinGW,并使用 MinGW 附带的 GDB。
5. 启动调试
编译项目:按 Ctrl+Shift+B 来触发编译任务,确保所有源文件正确编译并链接在一起。
启动调试:
按 F5 或者点击调试按钮,选择 GDB Debugging 配置进行调试。

VSCode 会自动运行 tasks.json 中定义的任务来编译代码,然后启动调试器。
6. 设置断点
在调试过程中,可以在代码中点击左侧行号区域来设置断点,也可以通过在调试控制台中查看变量、栈等信息来更好地理解程序执行情况。
小结
tasks.json 用于配置编译多个文件,生成可调试的可执行文件。
launch.json 用于配置调试选项,包括可执行文件路径、调试器等。
使用 F5 启动调试前,确保编译任务成功执行。

浙公网安备 33010602011771号