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

目录
相关文章
|
3月前
|
C++ Windows
【Function App】本地通过VS Code调试Function时候遇见无法加载文件错误Microsoft.Extensions.Diagnostics.Abstractions
在使用 VS Code 调试 Azure Functions 时,执行 `func host start` 可能因版本冲突报错。错误信息显示 Rpc Initialization Service 启动失败,可能是由于缺少文件或组件导致。解决方法包括:1) 使用 npm 卸载并重新安装 Azure Functions Core Tools;2) 若问题未解决,重新下载安装包(如 func-cli-x64.msi)修复旧版本工具;3) 退出并重启 VS Code,重新加载项目即可恢复正常运行。参考资料链接提供了更多背景信息。
178 0
|
6月前
|
开发工具 git
vscode推送项目到github仓库故障解决1
本文介绍了如何优雅解决本地仓库与远程仓库历史记录不一致的问题,并提供避免未来问题的最佳实践。核心在于理解问题根源(如历史记录差异和常见原因),采用推荐的解决方案(先本地初始化再关联远程仓库),并遵循一致的工作流程、团队协作规范及熟悉 Git 命令。通过强制推送或合并无关历史记录等方式处理现有冲突,同时养成良好习惯以预防类似问题。
|
10月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
286 8
|
10月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【11月更文挑战第6天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
384 5
|
11月前
|
前端开发 JavaScript 数据库
VSCode编程助手工程能力体验报告(一):通义灵码 - 帮你高效切入新项目、编码和提升质量
我是一位软件工程师,用通义灵码个人版vscode插件的workspace做项目分析和复盘,对比之前没有灵码,现在提效了80%,本文介绍了具体的使用流程。
2368 3
|
11月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
1963 3
|
11月前
|
Ubuntu Linux Shell
C++ 之 perf+火焰图分析与调试
【10月更文挑战第8天】在遇到一些内存异常的时候,经常这部分的代码是很难去进行分析的,最近了解到Perf这个神器,这里也展开介绍一下如何使用Perf以及如何去画火焰图。
200 1
|
11月前
|
JavaScript Linux 网络安全
VS Code远程调试Nodejs项目
VS Code远程调试Nodejs项目
|
11月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
2082 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
10月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
1474 1
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!