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 启动调试前,确保编译任务成功执行。


__EOF__

本文作者alan
本文链接https://www.cnblogs.com/alanli07/p/18537544.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LIalan  阅读(384)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
点击右上角即可分享
微信分享提示