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以字符串的形式放进去,这样,再调试就是带参数的了
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aries_Ro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值