vscode debug c++代码

news2025/2/4 17:43:11

需要提前写好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.coloradmin.cn/o/1328437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无头 SEO:技术实施的 8 个基本步骤

确保您的内容在无头 CMS 环境中大放异彩。按照我们的 8 个步骤进行一流的无头 SEO。 无头内容管理系统 (CMS) 正在兴起,迅速被宜家、耐克和国家地理等大品牌采用。 那里有很多选择,而且更有可能的是,作为 SEO 专业人士…

swing快速入门(二十三)弹球小游戏

注释很详细,直接上代码 上一篇 新增内容 1. 键盘响应监听 2. 使用定时器事件更新画板 3. 定时器事件的开始与暂停 4. 弹球小游戏的坐标逻辑判断 import javax.swing.*; import java.awt.*; import java.awt.event.*;public class swing_test_19 {//创建一个窗…

即将来临的2024年,汽车战场再起波澜?

我们来简要概况一下11月主流车企的销量表现: 根据数据显示,11月吉利集团总销量29.32万辆,同比增长28%。这在当月国内主流车企中综合实力凌厉,可谓表现得体。而与吉利直接竞争的比亚迪,尽管数据未公布,但我们…

gradio 基本样式

可以在下面的网页上作测试: Gradio PlaygroundPlay Around with Gradio Demoshttps://www.gradio.app/playground1.text、checkbox、Slider import gradio as grdef greet(name, is_morning, temperature):salutation "Good morning" if is_morning e…

Arduino平台软硬件原理及使用——Arduino Uno板卡的使用

本文目录 一、Arduino平台简介 二、Arduino Uno板卡简介 三、Arduino编译器简介 四、Arduino平台结合Arduino Uno板卡的使用 一、Arduino平台简介 Arduino 是一个灵活、易于使用的开源电子平台,这个平台包含软件和硬件。 Arduino能通过各种各样的传感器来感知环境&…

Lang–Kobayashi方程实现混沌python实现混沌序列图像

Lang–Kobayashi方程描述为: 第一部分(Drive laser)是描述的驱动激光器,第二部分(Response laser)描述的是响应激光器。实验结构图如下: 虚线框表示响应激光器中的闭环配置。开环中响应激光器无…

C#电源串口调试

目的 记录串口调试的遇到的一些问题以及相应的解决方法 1.串口定义:串口是计算机与其他硬件传输数据的通道,在计算机与外设通信时起到重要作用 2.串口通信的基础知识 C#中的串口通信类 C#使用串口通信类是SerialPort(),该类使用方法是 new 一个 SerialPort对象 为S…

【大模型实践】基于文心一言的对话模型设计

文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识…

Git 配置多个 SSH-Key

Git 配置多个 SSH-Key (两个都是gitee) 先看图,官网固然重要,但是不完全行(因为官网示例是一个gitee一个github),现在想是想多个都是gitee在他上面稍微更改即可 一般不对遇到这种问题&#xf…

Kylin基础知识点解析与应用探索

目录 学习目标: 学习内容: 学习时间: 学习产出: Kylin简介 什么是Kylin Kylin的历史和发展 Kylin在大数据领域的地位和作用 Kylin架构 Kylin的组成部分和模块 Kylin的工作原理和流程 Kylin与其他大数据组件的关系和集成 Kylin功能…

ffmpeg 硬件解码零拷贝unity 播放

ffmpeg硬件解码问题 ffmpeg 在硬件解码,一般来说,我们解码使用cuda方式,当然,最好的方式是不要确定一定是cuda,客户的显卡不一定有cuda,windows 下,和linux 下要做一些适配工作,最麻…

Python知识(2/20):Python基本数据类型

1. Python基本数据类型 Python 中基本的数据类型主要有整型(int)、浮点型(float)、布尔型(bool)、 字符串(str)。 1.1 整型-int 对于整数类型来说,Python 的特殊之处在…

通过navcat的ssh连接 将一个服务器当作跳板连接远程mysql

文章目录 通过ssh连接一个服务器当作跳板连接远程mysql 通过ssh连接一个服务器当作跳板连接远程mysql 简单来说 一共三台机器 windows Linux(入口) Linux(mysql) windows 可以通过ssh 私钥连接Linux(入口)…

数据分析基础之《numpy(4)—ndarry运算》

一、逻辑运算 当我们要操作符合某一条件的数据时,需要用到逻辑运算 1、运算符 满足条件返回true,不满足条件返回false # 重新生成8只股票10个交易日的涨跌幅数据 stock_change np.random.normal(loc0, scale1, size(8, 10))# 获取前5行前5列的数据 s…

小程序隐私保护指引组件wx.getPrivacySetting

问题:项目里使用了获取微信昵称的input标签,发现上线后获取不到微信昵称 解决方案去更新隐私保护协议 然后重新进入小程序就会弹出弹框 2.自己自定义一个隐私保护提示,以下是我的组件 在component里面创建privacyPopup文件夹 privacyPopup.…

裸色打底裤:“光腿神器”怎么就成了“美丽刑具”?

近日,裸色打底裤因其隐形又保暖、拍照显得像真的光腿一般的效果,一直有着“光腿神器”的美誉,在冬天销量十分可观。然而,最近关于“光腿神器的危害有多大”的话题登上热搜,引发了广泛关注。 裸色打底裤作为一种时尚单…

Ubuntu 常用命令之 chown 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 chown 命令在 Ubuntu 系统中用于改变文件或目录的所有者和组。这个命令的基本格式是 chown [选项]... [所有者][:[组]] 文件...。 chown 命令的主要参数有 -c 或 --changes:类似 verbose,但只在发生改变时…

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

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

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

本系列将分成三个部分,您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具&#x…

15张超级有用的电商模版

电商即电子商务(Electronic Commerce) ,是利用计算机技术、网络技术和远程通信技术,实现电子化、数字化和网络化的整个商务过程。本专题包含电商运营策略、电商平台底层逻辑、营销流程设计等模板内容。 如果你是一个电商小白,你需要以下的电…