VScode配置makefile编译

2023-05-16

VScode配置makefile编译

Author:onceday date:2022年7月26日

1.修改终端任务配置(Terminal)

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build", //标签名,用于在调试里调用
            "type": "shell",  //类型,可选shell和process
            "command": "make",//在命令行的命令
            "args": [
                "clean",//用于清楚编译中间件                           
            ],//命令参数
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc" //错误抓取
        }
    ]
}
  • 此处重点配置label、command,args即可。

  • 调试需要gcc编译-g选项的二进制文件,即携带调试信息。

2.修改调试启动文件(Launch.json)

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gdb_launch",
            "type": "cppdbg",//类型固定
            "request": "launch",
            "program": "${workspaceFolder}/a.exe",//输入调式程序的执行路径
            "args": [],//参数表
            "stopAtEntry": false,//进函数暂停
            "cwd": "${fileDirname}",//进入目录
            "environment": [],
            "externalConsole": false,//额外的控制台
            "MIMode": "gdb",//调试的程序
            "miDebuggerPath": "/path/to/gdb",//调试程序的路径
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
             "preLaunchTask": "build",//加载前先执行编译任务
        }

    ]
}
  • 重要的是program,这个指定要调试的程序。
  • 有些时候,gdb需要指定路径,即miDebuggerPath

3.可以使用gdb server远程调试作为替代方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VScode配置makefile编译 的相关文章

随机推荐

  • 如何用开源飞控PIXHAWK进行二次开发?

    著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 作者 xff1a 我是肉包子 链接 xff1a http www zhihu com question 38874663 answer 84239995 来源
  • px4的模式与状态

    一 模式 PX4 native flight stack String Description and notes MANUAL ACRO ALTCTL POSCTL OFFBOARD STABILIZED RATTITUDE in mas
  • ESP8266开发实战之(一)-开发环境配置

    最近买了一块ESP8266的小板子 xff0c 上面自带WIFI功能 xff0c 可以进行一些好玩的物联网开发 因此 xff0c 我打算将对整个板子的的熟悉过程通过一系列的文档记录下来 我拿到的板子型号是NodeMUC 1 0 ESP 12
  • ESP8266开发实战之(4)-连接路由器的wifi

    概述 ESP8266支持连接到wifi xff0c 从而使得我们能够通过网络访问 xff0c 做出一些简单而有趣的功能 因此 xff0c 第一步工作便是连接到wifi网络 一般情况下 xff0c 我们要连接wifi xff0c 在手机上的操
  • 怎样用一行代码判断系统的大小端?

    最近在设计自己的TCP IP协议栈 xff0c 代码完成的差不多了 xff0c 已经能够跑在嵌入式STM32开发板上 闲来无事 xff0c 想着优化一下问题的解决方案 这个问题据说是很常见的面试问题 xff1a 如何判断当前系统的大小端 x
  • 在操作系统开发中选bochs还是qemu

    最近有同学问我 xff1a 为什么你在写 0写x86 Linux操作系统时选择了bochs xff0c 而不是qemu xff1f 他认为bochs更加好用 xff0c 很多资料上都写了用该软件 其实我也是经过不断地对比和尝试后 xff0c
  • 网络编程中的大小端

    最近在录制一门手写TCP IP协议栈的课程 不得不说 xff0c TCP IP这个东西是真难 xff0c 写代码费了我半天劲 xff0c 然后又要用课程的方式给讲出现 这其中涉及到大小端的转换 xff0c 所以这里总结一下 在计算机领域 x
  • RTOS系统延时与普通软延时的特点与区别

    我们知道 xff0c 在RTOS中会提供若干延时函数的API 对于没有仔细了解过RTOS的同学而言 xff0c 可能会产生这样疑惑 xff1a 这些API与普通自写的延时函数相比究竟有何优势呢 xff1f 为什么要额外提供这些API xff
  • 超简单!在Keil中指定某个函数或变量存放的地址

    在我们开发过程中 xff0c 有时候会有这样一个需求 xff1a 希望能够指定某个函数或变量存放的地址 也许你看过一些文章 xff0c 里面介绍了一大堆内容 xff0c 甚至于还会介绍分散加载文件的配置 但是绝大多数情况下 xff0c 为了
  • 解决Ubuntu环境下ROS Kinetic中的cv_bridge和自己安装OpenCV 2.4.xx兼容性笔记

    我们如果使用的ROS版本为Kinetic xff0c 那么ROS一般会默认安装OpenCV3 所以使用cv bridge的情况下 xff0c ROS会自动去调用它自己安装的OpenCV3 但是对于一部分人还是比较习惯使用OpenCV2 xf
  • 自己动手从0到1写嵌入式操作系统-李述铜-专题视频课程

    自己动手从0到1写嵌入式操作系统 7941人已学习 课程介绍 这不是rtos源码分析的课程 xff0c 而是为初级的同学设计 xff0c 从基础原理讲师 xff0c 一步步不断迭代设计rtos的课程 xff01 用不到 2000行代码 xf
  • opencv基于颜色的物体识别

    span style font size 18px include lt iostream gt include lt string gt include lt string h gt include lt vector gt includ
  • c++模板(函数模板、类模板)STL、map、容器

    一 什么是模板 模板是C 43 43 中自动生成代码的技术 二 为什么使用模板 问题 xff1a 实现一个通用的排序算法 C语言 xff1a 通过回调函数实现 xff0c 使用者调用麻烦 C 43 43 语言 xff1a 函数重载 xff0
  • iPad 上最强 IDE,支持 20 多种开发语言,还开源了

    x1f447 x1f447 关注后回复 进群 xff0c 拉你进程序员交流群 x1f447 x1f447 作者丨小集 来源丨小集 xff08 ID xff1a zsxjtip xff09 https mp weixin qq com s 3
  • 如何删除Docker镜像

    Docker镜像不过是一组只读文件 xff0c 这意味着一旦docker镜像被构建 xff0c 就不能修改 然而 xff0c 你可以借助现有的docker镜像创建一个新的docker镜像 Docker镜像是用来构建docker容器的 Doc
  • 如何减少/缩小Linux中的LVM(逻辑卷大小)?

    减少 缩小逻辑卷会给数据非常大的损坏风险 所以 xff0c 如果可能的话 xff0c 尽量避免这种情况 xff0c 但如果没有其他选择的话 xff0c 只能这样操作了 缩减LVM之前 xff0c 建议先做一个备份 当你在LVM中的磁盘空间耗
  • 是结束也是开始

    往事随风 时光飞逝 xff0c 不知不觉已答辩完 xff0c 不知不觉已毕业 xff0c 不知不觉告别了生活四年的学校 告别了一起的你们 xff0c 不知不觉踏上了返程的火车 xff0c 不知不觉已回到了家 xff0c 坐在电脑旁边 xff
  • 目标检测光流法(一):对光流法的认识

    所谓光流 xff0c 是计算机视觉研究领域的术语 xff0c 直观的认识就是提供一个对运动物体的的描述 xff0c 因此也常用于运动物体的检测与识别 现实生活中 xff0c 我们之所以能感受到物体的动与不动 xff0c 就是因为这个物体在前
  • 机器学习(1)--特征工程之特征抽取

    三者关系 xff1a 人工智能 gt 机器学习 gt 深度学习 机器学习 xff1a 机器学习是从数据中自动分析获得规律 xff08 模型 xff09 xff0c 并利用规律对未知数据进行预测 机器学习的数据 xff1a 文件csv xff
  • VScode配置makefile编译

    VScode配置makefile编译 Author xff1a onceday date xff1a 2022年7月26日 1 修改终端任务配置 Terminal span class token punctuation span span