vscode 调试使用 make 编译的项目

1、首先点击运行 --> 启动调试:

在这里插入图片描述

2、选择g++或gcc生成和调试活动文件:

在这里插入图片描述

3、出现下面提示是正常的,点击仍要调试:

在这里插入图片描述
点击打开“launch.json”:
在这里插入图片描述

4、此时会在项目工作目录下生成tsak.josn和launch.json文件:

如下,下面为默认生成的内容,我们需要根据项目情况来修改:
task.json文件:

{"tasks": [{"type": "cppbuild","label": "C/C++: g++ 生成活动文件","command": "/usr/bin/g++","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

launch.json文件:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": []
}
5、修改task.json与launch.json文件

若项目工作空间为 Test,并且Test 下有个目录为 MyProject,其中存放 Makefile 等文件;
首先修改tsak.json文件:
${workspaceFolder} 代表工作空间 Test,make 命令应该在 Makefile 同级目录下使用,则cwd应按下面方式修改:

{"tasks": [{"type": "shell","label": "build MyProject","command": "make","options": {"cwd": "${workspaceFolder}/MyProject"},"group": "build"}],"version": "2.0.0"
}

修改launch.json文件:
launch.json文件需要修改

  • program:可执行文件;
  • preLaunchTask:同tsak.josn中lable内容需要保持相同;
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/MyProject/bin/MyProject","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "build MyProject"}]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/131033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣(LeetCode)2512. 奖励最顶尖的K名学生(C++)

优先队列哈希集合反向思维(或自定义排序) 模拟,请直接看算法思路: 两个哈希集合S1和S2, S1存正面词汇,S2存负面词汇;一个优先队列pq,pq存{score, id}键值对,即学生分数-学生id。 算法流程: 初…

Android 面经总结分享(相当走心)

背景描述 这是来自一位粉丝朋友的面经分享,他在 「Android 开发行业」 摸爬滚打5年多的开发,呆过的互联网公司有三家,均从事的Android 开发的工作。最后离职的一家公司也是做的最久的一家,工作了将近3年多时光。 废话不多说了&a…

山西电力市场日前价格预测【2023-10-12】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-12)山西电力市场全天平均日前电价为506.23元/MWh。其中,最高日前电价为841.91元/MWh,预计出现在18: 30。最低日前电价为351.76元/MWh,预计…

1600*A. Maze(DFS)

Problem - 377A - Codeforces 解析: 对于正向思考比较复杂的题目,我们可以反向思考。 由于最后剩余的 “ . ” 必须相连,所以我们将所有 “ . ” 全部换成 “ X ”,然后从其中DFS一个联通的“ X ”反向换成 “ . ”即可。 #incl…

2023年中国医学影像信息系统市场规模、竞争格局及行业趋势分析[图]

医学影像信息系统简称PACS,与临床信息系统、放射学信息系统、医院信息系统、实验室信息系统同属医院信息系统。医学影像信息系统是处理各种医学影像信息的采集、存储、报告、输出、管理、查询的计算机应用程序。主要包括:预约管理、数据接收、影像处理、…

RxJava介绍及基本原理

随着互联网的迅猛发展,Java已成为最广泛应用于后端开发的语言之一。而在处理异步操作和事件驱动编程方面,传统的Java多线程并不总是最佳选择。这时候,RxJava作为一个基于观察者模式、函数式编程和响应式编程理念的库,为我们提供了…

TensorFlow入门(十七、神经元的拟合原理)

深度学习的概念源于人工神经网络的研究,神经网络是由多个神经元组成,。一个神经元由以下几个关键知识点组成: ①激活函数 ②损失函数 ③梯度下降 单个神经元的网络模型如图所示 用计算公式表达如下: z为输出的结果,x为输入,w为权重,b为偏置值。z…

数据结构--》解锁数据结构中树与二叉树的奥秘(二)

数据结构中的树与二叉树,是在建立非线性数据结构方面极为重要的两个概念。它们不仅能够模拟出生活中各种实际问题的复杂关系,还常被用于实现搜索、排序、查找等算法,甚至成为一些大型软件和系统中的基础设施。 无论你是初学者还是进阶者&…

【排序算法】选择排序

文章目录 一:基本介绍1.1 概念1.2 算法思想1.3 思路分析图1.4 思路分析1.5 总结1.5.1 选择排序一共有数组大小-1轮排序1.5.2 每一轮排序,又是一个循环,循环的规则如下(在代码中实现): 二:代码实…

微信小程序在TS模板下引入TDesign组件

介绍 TDesign 是腾讯官方出品的一款微信小程序组件库。本文介绍如何在新建ts空白模板下引入TDesign库 步骤 新建一个空白项目,这里可以选择TS-基础模板 新建项目目录结构如图所示: 注意这里其实小程序的文件都存放在miniprogram文件夹下,…

vue3+ts项目02-安装eslint、prettier和sass

创建项目 项目创建 安装eslint yarn add eslint -D生成配置文件 npx eslint --init安装其他插件 yarn add -D eslint-plugin-import eslint-plugin-vue eslint-plugin-node eslint-plugin-prettier eslint-config-prettier eslint-plugin-node babel/eslint-parser vue-e…

qt判断当前日期的当月的最后一天是几号

1、拖个dateTimeEdit在界面上,同时来判断输入的时间的最后一天的日期是什么? int year,month;int monthArr[12]{31,28,31,30,31,30,31,31,30,31,30,31};QDateTime time ui->dateTimeEdit->dateTime();year time.toString("yyyy").toIn…