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以字符串的形式放进去,这样,再调试就是带参数的了

目录
相关文章
|
1月前
|
编译器 C语言 C++
【VS Code】安装配置调试C/C++(一)
【VS Code】安装配置调试C/C++(一)
50 0
|
24天前
|
Java C++ 开发者
如何根据项目需求选择使用C++还是Python进行内存管理?
【7月更文挑战第2天】如何根据项目需求选择使用C++还是Python进行内存管理?
24 0
|
1月前
|
项目管理 C++
【VS Code】安装配置调试C/C++(二)
【VS Code】安装配置调试C/C++(二)
48 1
|
1月前
|
程序员 C++ Windows
【C++航海王:追寻罗杰的编程之路】探寻实用的调试技巧
【C++航海王:追寻罗杰的编程之路】探寻实用的调试技巧
21 0
|
1月前
|
NoSQL Linux C++
Linux C/C++ gdb调试正在运行的程序
Linux C/C++ gdb调试正在运行的程序
|
3天前
|
C++
什么是析构函数,它在C++类中起什么作用
什么是析构函数,它在C++类中起什么作用?
20 11
|
3天前
|
C++
能不能说一个C++类的简单示例呀?能解释一下组成部分更好了
能不能说一个C++类的简单示例呀?能解释一下组成部分更好了
26 10
|
15天前
|
设计模式 安全 编译器
【C++11】特殊类设计
【C++11】特殊类设计
36 10
|
20天前
|
C++
C++友元函数和友元类的使用
C++中的友元(friend)是一种机制,允许类或函数访问其他类的私有成员,以实现数据共享或特殊功能。友元分为两类:类友元和函数友元。类友元允许一个类访问另一个类的私有数据,而函数友元是非成员函数,可以直接访问类的私有成员。虽然提供了便利,但友元破坏了封装性,应谨慎使用。
46 9
|
15天前
|
存储 编译器 C语言
【C++基础 】类和对象(上)
【C++基础 】类和对象(上)