vscode debug c++代码

需要提前写好CMakeLists.txt
在tasks.json中写好编译的步骤,即tasks,如cmake … 和make -j
在lauch.json中配置可执行文件的路径和需要执行tasks中的哪一个任务

具体步骤:
1.写好c++代码和CMakeLists.txt
2.配置tasks.json
终端–>配置任务–>g++生成活动文件
在这里插入图片描述
此时会在.vscode中生成tasks.json文件
需要修改tasks.json文件。一般的编译步骤就是cmake … 和make -j,对应的就是tasks.json中的两个任务。

{"version": "2.0.0","tasks": [{"type": "shell",    // cmake属于shell命令"label": "cmake",   // 这条任务的名字"command": "cmake", // 对应的shell命令"args": [".."             // cmake命令对应的参数,一般就是..],"options": {"cwd": "${workspaceFolder}/build"  // 需要在哪个路径下执行这条任务}},{"type": "shell",  // make也属于shell命令"label": "make",  // 这条任务的名字"command": "make", // 对应的shell命令"args": ["-j"            // make命令对应的参数,一般就是-j],"options": {"cwd": "${workspaceFolder}/build"  // 需要在哪个路径下执行这条任务},"dependsOn": ["cmake"                      // make命令需要在cmake执行完成后执行,这个cmake就是上面那条任务的名字]},]
}

3.配置lanuch.json
运行–>添加配置–>C++
在这里插入图片描述
此时会生成launch.json文件
再执行一次运行–>添加配置
在这里插入图片描述
或者直接粘贴下面的内容

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/build/${fileBasenameNoExtension}",  //编译生成的可执行文件"args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}/build","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": "make"    // 执行tasks中的哪个任务}]
}

4.debug程序
到指定的main文件按下F5,即可以调试程序

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

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

相关文章

文件:文本文件和二进制文件 详解

目录 0 引言1 文本文件1.1 是如何存储的?1.2 文件拓展名 2 二进制文件2.1 是如何存储的?2.2 分类2.2.1 图像文件2.2.2 音频文件2.2.3 视频文件2.2.4 可执行文件 🙋‍♂️ 作者:海码007📜 专栏:C专栏&#x…

磁盘类型选择对阿里云RDS MySQL的性能影响

测试说明 这是一个云数据库性能测试系列,旨在通过简单标准的性能测试,帮助开发者、企业了解云数据库的性能,以选择适合的规格与类型。这个系列还包括: * 云数据库(RDS MySQL)性能深度测评与对比 * 阿里云RDS标准版(x86) vs 经济…

3. 行为模式 - 迭代器模式

亦称: Iterator 意图 迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。 问题 集合是编程中最常使用的数据类型之一。 尽管如此, 集合只是一组对象的…

拥抱鸿蒙 - 在展讯T606平台上的探索与实践

前 言 自OpenHarmony 问世后受到了社会各界的广泛关注,OpenHarmony 的生态系统在如火如荼的发展。 酷派作为一家积极拥抱变化的公司,经过一段时间的探索与实践,成功实现将OpenHarmony 系统接入到展讯平台上,我们相信这是一个重要…

Layui 2.9.2 列表商品展示页 用模板引擎 laytpl Ajax 读取json 数据 筛选数组 filter css 限制文体显示过长用。。。代替

全代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>软件管理器</title><meta name"renderer" content"webkit"><meta http-equiv"X-UA-Compatible" conten…

【2023CANN训练营第二季】——Ascend C算子开发(进阶)微认证

1.微认证题目&#xff1a; 参考tensorflow的Sinh算子&#xff0c;实现Ascend C算子Sinh,算子命名为SinhCustom&#xff0c;并完成aclnn算子调用相关算法: sinh(x) (exp(x) - exp(-x)) / 2.0 要求: 1、完成host侧和kernel侧代码实现。 2、实现sinh功能&#xff0c;支持float16…

使用 ElementUI 组件构建无边框 Window 桌面应用(WinForm/WPF)

生活不可能像你想象得那么好&#xff0c;但也不会像你想象得那么糟。 我觉得人的脆弱和坚强都超乎自己的想象。 有时&#xff0c;我可能脆弱得一句话就泪流满面&#xff1b;有时&#xff0c;也发现自己咬着牙走了很长的路。 ——莫泊桑 《一生》 一、技术栈 Vite Vue3 TS E…

Python字符串处理全攻略(一):常用内置方法轻松掌握

文章目录 引言Python字符串常用内置方法str.capitalize()语法示例运行结果注意事项 str.upper()语法示例注意事项 str.lower()语法示例注意事项 str.center()语法示例注意事项 str.count()语法示例注意事项 str.endswith()语法示例注意事项 str.find()语法示例注意事项 结束语 …

单片机原理及应用:Keil μVision4和Proteus 8的配置介绍

笔者所在的专业最近开设了单片机课程&#xff0c;对笔者而言&#xff0c;虽然之前有一定的代码基础。但还是第一次面对既要求代码架构又要求电路仿真的领域。为了巩固知识和增强记忆&#xff0c;特此创建了这个专栏&#xff0c;谨以一名非电专业初学者的身份记录和分享知识。 …

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境&#xff0c;类似 Windows 系统的终端或…

BDD - Python Behave 入门

BDD - Python Behave 入门 Behave 是什么Behave 的主要特点和组成部分Behave 实践安装 BehaveBehave 项目目录结构创建项目创建 Feature 文件创建步骤定义文件 执行用例执行全部用例执行部分用例 生成报告生成 Json report生成 HTML 报告生成 Junit report生成 Cucumber report…

大数据技术基础-读书笔记

大数据技术基础-读书笔记 一、大数据概述 大数据是指在一定时间内无法用常规软件工具对其内容进行抓取、处理、分析和管理的数据集合。 大数据一般会涉及两种以上的数据形式&#xff0c;数据量通常是100TB以上的高速、实时数据流&#xff0c;或者从每年增长速度快的小数据开…