VS Code连接远程Linux服务器调试C程序

1.在 VS Code 上安装扩展

  • C/C++

2.通过 VS Code 连接远程 Linux 服务器

3.通过 VS Code 在远程 Linux 服务器上安装扩展

  • C/C++

4.打开远程 Linux 服务器上的文件夹

【注】本文以 /root/ 为例。

5.创建项目文件夹,并在项目文件夹下创建C程序

在这里插入图片描述
在这里插入图片描述

6.按 F5,选择 “C/C++: g++ 生成和调试活动文件”

【注】gcc 是 Linux 下 C 的编译器,g++ 是 Linux 下 C++ 的编译器。由于 C++ 兼容 C,因此,g++ 既可以编译 C++ 也可以编译 C。但是,一般建议使用 gcc 编译 C,使用 g++ 编译 C++。

7.切换到终端,查看输出

在这里插入图片描述

8.点击左侧菜单栏的“运行和调试”,点击“创建 launch.json文件”

【注】需要确保右侧已打开 test.c 文件

9.点开左侧菜单栏的“资源管理器”,在 .vscode 下会有 launch.json 和 tasks.json

10.修改 launch.json 如下

{"version": "0.2.0","configurations": [{"name": "(gdb) launch","type": "cppdbg","request": "launch","program": "/root/demo/test", // 编译后的程序路径"args": [],"stopAtEntry": false,"cwd": "/root/demo/", // 工作路径"environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/usr/bin/gdb", // 调试器路径"preLaunchTask": "make_debug", // 在调试之前执行的任务,配合task.json文件"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
}

11.修改 tasks.json 如下

{"version": "2.0.0","tasks": [{"label": "make_debug","type": "shell","linux":{"command": "gcc /root/demo/test.c -o /root/demo/test -g"},}]
}

12.设置断点,按 F5 进行调试

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

mysql中的int(1)和int(10)的区别

今天偶然发现同事在写sql建表的时候把int类型括号后面的数字写成了1,但是我发现数据库里面的值已经远远超过了1位所能表示的范围,所以括号里面的数字肯定不是表示长度了(印象中早期的navivat建表的时候,int类型如果默认不指定长度…

devc++如何建立一个c++项目?devc++提示源文件未编译?

打开devc APP后是这样的界面; 点击文件-> 新建->项目,这一点应该不难,主要是最后这个选择什么? 这样即可。 devc提示源文件未编译? 点击工具->编译选项; 如果不能解决,那就是可能路径…

文物数字化建模纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、文物3D数字化建模的特点 文物埋在地下历经千年,由于时…

转动惯量与惯性张量 的推导

从牛顿第二定律推出绕固定轴旋转的转动惯量,再用类似方法从牛顿第二定律推出绕固定点转动的惯性张量 基础定义 角速度 ω \omega ω是一个三维向量,方向表示旋转轴,用右手定则代表旋转方向,长度代表旋转弧度的速度 线速度&#…

WebGL+Three.js入门与实战——给画布换颜色、绘制一个点、三维坐标系

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

为了吃鸡苦练狙击,避免坑队友自己造一个狙击游戏!

引言 一文教会你造一个简易的狙击游戏。 说到狙击,相信大家都不陌生,无论是影视作品还是网络游戏,都经常能看到狙击枪的身影,最深刻的是它能够从百里之外,一枪爆头。 本文将介绍如何在Cocos Creator中造一个简易的狙…

UE5 动画 Sequencer-学习笔记

P2. 课程介绍 资料:https://www.bilibili.com/video/BV1Ag411873f?p2&vd_source707ec8983cc32e6e065d5496a7f79ee6 Sequencer不仅可以做互动动画,还可以导出视频与序列帧 P3-4. 界面介绍 https://www.bilibili.com/video/BV1Ag411873f?p3&spm_…

数据挖掘任务一般流程

数据挖掘是从大量数据中提取有价值信息的过程。它涉及多个步骤,每一步都对整个数据挖掘过程至关重要。以下是数据挖掘任务的一般流程: 业务理解: 确定业务目标。评估当前情况。定义数据挖掘问题。制定一个初步计划来达到这些目标。 数据理…

WPF-附加属性《十二》

非常重要 依赖属性和附加属性,两者是有关系的,也是有些区别的,很多时候,可能会把两者混淆了。 附加属性(Attach Property) 顾名思义,就是附加上面的属性,自身是没有的,…

人工智能在红斑狼疮应用主要以下4个方面

人工智能(Artificial Intelligence, AI)在医学领域的应用已取得了一定的进展。红斑狼疮(Systemic Lupus Erythematosus, SLE)是一种免疫系统性疾病,对该疾病进行诊断和治疗是一个复杂的过程。人工智能可以发挥作用&…

如何在Centos 7环境下安装MySQL并登录

目录 先获取MySQL官方yum源 然后正常使用yum命令下载mysql即可完成MySQL的下载 使用mysql客户端登录mysqld服务端 能够登录mysql客户端后,我们最后还需要做一点配置 先获取MySQL官方yum源(包括对yum源的介绍) 介绍一下yum源 yum源就是一…

瞳孔检测眼动追踪python实现(基于dlib)

效果展示: 原图:(图片来自 b站up 借我300去洗牙) dlib实现的特征点检测 瞳孔检测结果 完整代码: # encoding:utf-8import dlib import numpy as np import cv2def rect_to_bb(rect): # 获得人脸矩形的坐标信息x …

服务器感染了.locked、.locked1勒索病毒,如何确保数据文件完整恢复?

尊敬的读者: .locked、.locked1勒索病毒是当前网络安全威胁中备受关注的一种恶意软件。本文将深入介绍.locked、.locked1勒索病毒的特征,有效的数据恢复方法,以及一系列预防措施,以帮助用户更好地保护自己的数字资产。面对复杂的…

深入理解人工智能中的图神经网络:原理、应用与未来展望

导言: 图神经网络(Graph Neural Networks, GNNs)作为人工智能领域的一项前沿技术,在社交网络分析、推荐系统、生物信息学等多个领域展现出卓越的性能。本文将深入剖析图神经网络的原理、当前应用场景以及未来可能的发展方向。 1.…

swing快速入门(十二)

注释很详细,直接上代码 上一篇 新增内容 1.Box容器和BroadLayout布局管理器的结合用法 2.textArea(多行文本域) 3.Choice(下拉选择栏) 4. CheckboxGroup(多项单选选择框) 5. Checkbox&…

循环神经网络-1

目录 1 数据集构建 1.1 数据集的构建函数 1.2 加载数据并进行数据划分 1.3 构造Dataset类 2 模型构建 2.1 嵌入层 2.2 SRN层 2.3 线性层 2.4 模型汇总 3 模型训练 3.1 训练指定长度的数字预测模型 3.2 多组训练 3.3 损失曲线展示 4 模型评价 总结 参考文献 循环神经网络&…

从零开始:前端架构师的基础建设和架构设计之路

文章目录 一、引言二、前端架构师的职责三、基础建设四、架构设计思想五、总结《前端架构师:基础建设与架构设计思想》编辑推荐内容简介作者简介目录获取方式 一、引言 在现代软件开发中,前端开发已经成为了一个不可或缺的部分。随着互联网的普及和移动…

简洁高效的 NLP 入门指南: 200 行实现 Bert 文本分类 (TensorFlow 版)

简洁高效的 NLP 入门指南: 200 行实现 Bert 文本分类 TensorFlow 版 概述NLP 的不同任务Bert 概述MLM 任务 (Masked Language Modeling)TokenizeMLM 的工作原理为什么使用 MLM NSP 任务 (Next Sentence Prediction)NSP 任务的工作原理NSP 任务栗子NSP 任务的调整和局限性 安装和…

【UE5.2】从零开始控制角色移动、游泳、下潜、上浮

目录 效果 步骤 一、项目准备 二、控制角色移动 三、控制角色游泳 四、实现角色潜水、上浮 五、解决在水面上浮的Bug 效果 步骤 一、项目准备 1. 新建一个空白工程,创建一个Basic关卡,添加第三人称游戏资源到内容浏览器 2. 在插件中启用“W…

IDEA——还在手动new对象set值嘛,GenerateAllSetter插件帮你解决!!!

IDEA插件 一、GenerateAllSetter插件介绍二、如何下载安装三、如何使用 总结 最近项目上有些测试需要有很多属性,而且大部分的属性都是要设置值的,一个一个手动set设值很繁琐,就想着有没有能解决这个问题的办法,就发现了一个非常好…