VScode调试C/C++项目调试多个C++程序makefile

简介: VScode调试C/C++项目调试多个C++程序makefile

VScode调试C/C++项目调试包含多个C++程序使用makefile编译

最近做了一个小的c项目,其中包含cpp,c,h文件,一下子不知道怎么调试,怎么单步运行。这里简单总结一下自己学习的一些傻瓜式调试方法。

首先我们假设我们的项目有三个文件main.cpp、solution.cpp、solution.h

main.cpp

#include "solution.h"
int main()
{
    Solution test;
    test.display();
    return 0;
}

solution.cpp

#include<iostream>  
#include "solution.h" 
void Solution::display()
{
     std::cout << "HI!" << std::endl;
}

solution.h

class Solution
{
    public : 
    void display();
};

打开我们的VScode 对应的代码文件夹

首选需要自动生成一个.vscode文件夹

点到main.cpp的编辑器,我们按ctrl+shift+D ,或者点击旁边第4个的按钮运行和调试

选择GDB就好了

g++也选第一个就好了

然后会报出错误,我们取消

点击左边第一个按钮,可以看到我们的文件列表里面生成了一个.vscode文件,里面有两个json文件

我们创建一个Makefile文件,大小写都行

main : main.o solution.o
  g++ -o main main.o solution.o 
#注意前面必须是tab,不能是空格
main.o : main.cpp solution.h
    g++ -g -c main.cpp
solution.o : solution.h solution.cpp
    g++ -g -c solution.cpp
clean :
    rm main.o solution.o main

这儿复制的话容易出错,每个g++前面都是制表符号Tab,不是空格,建议把原来的删掉,再按Tab,不然后面的make操作可能会出错

我们点击tasks.json

改一下如图所示,把原来的注释掉,或删掉,替换成下面的代码

"command": "make",
            "args": [
                "-C",
                "${workspaceFolder}",
                "main",//这儿注意名字
            ], //改一下这上面的

接着我们就可以调试main.cpp文件了,在main函数中打个断点

按F5进入调试,程序就会运行到断点位置

接下来按F11,F10就可以单步运行

另外写一个功能

假如要带参数去调试,就是比如你终端执行main函数时用./main 10000

我们也可以把参数输入进去调试

在我们的launch.json文件中

找到"args"这一项

把我们的10000以字符串的形式放进去,这样,再调试就是带参数的了

目录
相关文章
|
18天前
|
JSON JavaScript 小程序
使用VSCode搭建UniApp + TS + Vue3 + Vite项目
`uniapp` 是一个基于 Vue.js 的框架,支持一次开发多端部署,深受前端开发者喜爱。本文详细介绍如何使用 `VSCode` 搭建 `uniapp` 项目,包括安装 `node` 和 `pnpm`、创建项目、安装扩展组件、配置 `Json` 文件注释及安装相关插件。通过这些步骤,你可以高效地使用 `VSCode` 开发 `uniapp` 项目,并享受代码提示和自动补全功能,提高开发效率。
100 24
使用VSCode搭建UniApp + TS + Vue3 + Vite项目
|
3天前
|
C++
【C++案例】一个项目掌握C++基础-通讯录管理系统
这篇文章通过一个通讯录管理系统的C++项目案例,详细介绍了如何使用C++实现添加、显示、删除、查找、修改和清空联系人等功能。
12 3
|
4天前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
1月前
|
C# C++
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
【Azure Function】在VS Code中创建Function项目遇见 No .NET worker runtimes found
|
2月前
|
Rust 测试技术 编译器
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
|
1月前
|
编译器 C++ 开发者
Visual Studio属性表:在新项目中加入已配置好的C++库
通过以上步骤可以确保Visual Studio中新项目成功地加入了之前已配置好的C++库。这个过程帮助开发者有效地管理多个项目中共享的库文件,提升开发效率。
46 0
|
2月前
|
JavaScript IDE 开发工具
vue3【2024版】开发环境搭建(含官网和nvm下载切换最新版node,修改node下载源,创建项目,启动项目,安装vscode插件Vue - Official)
vue3【2024版】开发环境搭建(含官网和nvm下载切换最新版node,修改node下载源,创建项目,启动项目,安装vscode插件Vue - Official)
171 3
|
2月前
vscode 生成项目目录结构 directory-tree 实用教程
vscode 生成项目目录结构 directory-tree 实用教程
187 2
|
2月前
|
JSON 数据格式
3. 使用 VsCode 开发 uni-app 项目需要使用到的插件
3. 使用 VsCode 开发 uni-app 项目需要使用到的插件
78 0
|
10天前
|
编译器 C++
C++ 类构造函数初始化列表
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。
56 30