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,即可以调试程序

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

竞赛保研 基于CNN实现谣言检测 - python 深度学习 机器学习

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于CNN实现谣言检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&am…

Jmeter测试时遇到的各种乱码问题及解决

在Jmeter中显示乱码 遇到的问题:csv文件中有的用户名是中文的,接口使用该用户名入参时,查看结果树中看到,中文名显示为一堆乱码。 解决的方法: 应该是文件编码与jmeter编码不一致导致的。 1)新建一个tx…

使用Python从图像中提取表格

有什么作用? 与深度学习解决方案相比,这个轻量级的包不需要训练和最小化参数化。它提供了以下功能: 识别图像和PDF文件中的表格,包括在表格单元级别的边界框。 通过支持OCR服务/工具(Tesseract、PaddleOCR、AWS Textract、Google Vision和Azure OCR目前支持)来提取表格内…

Grafana安装zabbix插件

文章目录 一、在线安装zabbix插件二、离线安装1.下载安装2.grafana配置zabbix数据源 一、在线安装zabbix插件 如果grafana服务器可以联网即可在线安装。 安装方法官网上有:官网链接联网安装比较慢。 二、离线安装 1.下载安装 官网下载链接 [rootnode1 src]# mo…

抖店怎么运营?走通流程是关键!

我是电商珠珠 很多新手在入驻抖店的时候,都不知道前期怎么去运营。 运营的技巧很多,牵扯到很多细节,跑通流程是关键。 所以,今天就来给大家讲讲抖店的几个基本流程,只有将流程跑通了才能去更快的抠细节上的东西。 …

算法题系列6·删除有序数组中的重复项

目录 题目描述 思路分析 实现 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 …

解决:AD原理图网络无法更新同步到PCB

问题:表面上看起来引脚号都是一一对应的,但是Update过去就是无法同步。 解决: 检查并修改 元件管脚列 与 Name列 是否一一对应: 检查封装管脚模型匹配:

基于ssm高校实验室信息化综合管理平台建设系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本高校实验室信息化综合管理就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的…

【快速解决】python数据可视化时候无法显示中文字符的问题/图表中无法显示中文字符

目录 问题展示 解决方法 运行效果展示 问题展示 解决方法 加入以下代码即可 import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False运行效果展示 成功运行出来 🌌点击下方个人名片,交流会…

K8s攻击案例:Privileged特权容器导致节点沦陷

01、概述 特权容器(Privileged Container)是一种比较特殊的容器,在K8s中运行特权容器,需要将 Privileged 设为 true ,容器可以执行几乎所有可以直接在主机上执行的操作。 基于此,利用容器的特权配置可以获取…

flutter开发实战-第一帧布局完成回调实现

flutter开发实战-第一帧布局完成回调实现 在开发中,我们有时候需要在第一帧布局完成后调用一些相关的方法。这里记录一下是实现过程。 Flutter中有多种不同的Binding,每种Binding都负责不同的功能。下面是Flutter中常见的Binding: 这里简单…

【权威认证】飞凌嵌入式FET113i-S核心板国产化率达100%

经中国赛宝实验室的严格认证,飞凌嵌入式FET113i-S核心板的电子元器件国产化率达100%——这款超高性价比的全国产核心板为新基建领域的国产化替代升级注入了新动力。 关于【中国赛宝实验室】 中国电子产品可靠性与环境试验研究所(工业和信息化部电子第五研…

STM32 AI 模型测试

PC仿真软件测试 我在STM32单片机上跑神经网络算法—CUBE-AI_stm32cube.ai-CSDN博客 仿真软件测试结果和真实情况差距过大 云平台测试 Home - STM32Cube.AI Developer Cloud 上传模型文件 点击Start 选择优化方式 可以跳过量化步骤,到Benchmark 选择合适的型号&a…

配置OSPF多区域,实现内网互通---实验

目录 配置OSPF多区域,实现内网互通---实验 拓扑 需求: 配置步骤: 配置命令: 配置OSPF多区域,实现内网互通---实验 拓扑 需求: 1)实现内网所有vlan和R1互通 2)实现R1和SW5/SW6…

java开发面试:常见业务场景之单点登录SSO(JWT)、权限认证、上传数据的安全性的控制、项目中遇到的问题、日志采集(ELK)、快速定位系统的瓶颈

单点登录(SSO) 单点登录,Single Sign On(简称SSO),只需要登录一次,就可以访问所有信任的应用系统。 如果是单个tomcat服务,session可以共享,如果是多个tomcat,那么服务s…

数字孪生模型:打造未来智能世界的核心力量

随着科技的飞速发展,我们正在逐步迈入一个全新的智能时代。在这个时代中,数字孪生模型成为了推动社会进步和产业变革的重要力量。它不仅改变了我们对世界的认知方式,还为各行各业带来了前所未有的创新与突破。 一、数字孪生模型的定义与原理 …

Grafana高可用-LDAP

一. grafana高可用 1. 迁移之前的 grafana sqlitedump.sh #!/bin/bash DB$1 TABLES$(sqlite3 $DB .tables | sed -r s/(\S)\s(\S)/\1\n\2/g | grep -v migration_log) for t in $TABLES; doecho "TRUNCATE TABLE $t;" done for t in $TABLES; doecho -e ".mode…

数学建模笔记-拟合算法

内容:拟合算法 一.概念: 拟合的结果就是找到一个确定的曲线 二.最小二乘法: 1. 2.最小二乘法的二表示的是平方的那个2 3.求解最小二乘法: 三.评价拟合的好坏 1.总体评分和SST: 2.误差平方和SSE: 3.回…

你知道海外云手机可以用于外贸测评吗?

目前随着外贸行业的发展,像亚马逊、速卖通、eBay等海外电商平台越来越火热。在这些平台,过硬的产品质量、优秀的服务、合适的价格,再加上适量的跨境电商测评,很容易就能吸引不少的客户。那么如何利用海外云手机进行外贸测评&#…

4 postman响应数据解析

上一篇:3 使用postman批量创建测试数据-CSDN博客 在接口测试中,从接口的响应结果中获取数据是很常用的。比如说做断言的时候,需要确保接口返回数据是符合预期的。又比如有些接口的输入参数值,需要用到前面接口运行返回的数据。下面先介绍如何解析响应数据(以json数…