当前位置: 首页 > news >正文

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.lryc.cn/news/188446.html

相关文章:

  • Docker修改阿里源
  • 有必要买一台内衣裤专洗机吗?家用小洗衣机推荐
  • 高精度与高精度的乘法---基础算法
  • 护眼灯有效果吗?科普护眼灯的作用与推荐
  • 【办公自动化】在Excel中按条件筛选数据并存入新的表2.0(文末送书)
  • HDLbits: Lfsr5
  • Visual Studio 错误CS0006:未能找到元数据文件踩坑记录
  • tcpdump(三)命令行参数讲解(二)
  • 面试算法25:链表中的数字相加
  • APP如何设计应用的屏幕截图以提高下载量
  • qt 关于自定义控件,然后其他页面提升后背景样式表不生效问题
  • 对比纯软开与嵌入式硬件开发谁更好呢?
  • 软考 系统架构设计师系列知识点之软件质量属性(5)
  • 修改ubuntu服务器fs文件最大打开数
  • linux下Qt的pro文件
  • git常用命令和开发常用场景
  • 02 认识Verilog HDL
  • 解决VUE安装依赖时报错:npm ERR! code ERESOLVE
  • 软件公司的项目管理软件选择指南
  • 2、服务器安装docker
  • UDP报文结构
  • (高阶) Redis 7 第21讲 IO多路复用模型 完结篇
  • 2023年入职/转行网络安全,该如何规划?
  • 解密RabbitMQ:你所不知道的端口及其重要性
  • Docker 环境搭建 (centeros)
  • 服务器编程基本框架
  • Leetcode——数组的遍历系列练习
  • 免费的ChatGPT与StableDiffusion AI绘画 二合一 附在线地址
  • vivado FFT IP仿真(3)FFT IP选项说明
  • 正点原子嵌入式linux驱动开发——Busybox根文件系统构建