vscode 调试使用 make 编译的项目

news/2024/12/31 1:49:49/
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.ppmy.cn/news/1144824.html

相关文章

4.Docker 搭建 redis6

1.下载redis docker pull redis:6.2.62.创建需要挂载的宿主机文件夹 mkdir -p /data/redis/conf mkdir -p /data/redis/data3.配置redis 切换到/data/redis/conf文件夹下,创建redis.conf,复制redis.conf配置文件内容到redis.conf文件中,然后按下键盘 …

[yolo系列:yolov7添加可变形卷积Deformable Conv V2]

yolo系列文章目录 文章目录 yolo系列文章目录一、可变形卷积是什么?二、使用步骤1.在models/common.py文件添加2.然后再yolo.py里面添加DCNv23.修改yolov7的yaml 总结参考文章 一、可变形卷积是什么? 可变形卷积即DCN(缩写取自Deformable Con…

四川众佰诚:抖音开店后怎么运营的

抖音作为中国最大的短视频平台,其商业价值已经被众多商家所认可。开通抖音小店,可以帮助商家更好地在短视频场景中展示商品,提升销售效果。然而,成功的运营不仅需要有吸引人的商品,还需要精细的运营策略。以下是一些关…

找出多组分辨率中最接近目标值的一组

package com.test;import java.util.ArrayList; import java.util.List;public class Test {public static void main(String[] args) {// 目标分辨率int targetWidth 640;int targetHeight 480;//String str "3264x2448,3264x1836,2560x1920,3264x1472,3200x1440,2304…

leetCode 167.两数之和 || - 输入有序数组 双指针解法

167. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] …

10.selenium进阶

上述我们学习了selenium入门的一些操作, 本节知识点学习一些selenium的高级用法 1、嵌套网页 ​ 在前端开发中如果有这么一个需求。一个页面上的内容要被其它页面所共用。也就是说两个或者两个以上的页面需要共同存在与同一个页面。在前端页面开发中可以把写好的代码在每个页面…

CDGA数据治理工程师考试心得

2023年8月初,准备备考CDGA。当时也是很迷茫,啥时候考试都不知道,也不知道该怎么做。写这篇文章的目的也只是记录一下。 1.什么是CDGA? CDGA就是数据治理工程师(Certified Data Governance Associate),“D…

SpringBoot 如何配置 OAuth2 认证

在Spring Boot中配置OAuth2认证 OAuth2是一种用于授权的开放标准,允许应用程序安全地访问用户的资源。Spring Boot提供了强大的支持,使得在应用程序中配置OAuth2认证变得非常容易。本文将介绍如何在Spring Boot中配置OAuth2认证,以便您可以在…