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数字化建模的特点 文物埋在地下历经千年,由于时…

Kafka Avro序列化之一:使用自定义序列化

定义Schema 通过 Apache Avro编程快速入门,我们定义了User实体类。 user.avsc {"namespace": "org.example.avro","type": "record","name"

Java MyBatis 中 #{}和 ${}的区别是什么?

Java MyBatis 中 #{}和 ${}的区别是什么? 在 MyBatis 中,#{} 和 ${} 是两种不同的参数注入方式,主要区别在于参数的预处理和安全性。 #{} :预处理参数 #{} 用于预处理参数,会将参数值以预编译的形式传递给 SQL 引擎…

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

从牛顿第二定律推出绕固定轴旋转的转动惯量,再用类似方法从牛顿第二定律推出绕固定点转动的惯性张量 基础定义 角速度 ω \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_…

android实战之感知型组件的最佳实践

引言 使界面控制器(activity 和 fragment)尽可能保持精简。它们不应试图获取自己的数据,而应使用 ViewModel 执行此操作,同时应观测 LiveData 对象以在视图中体现相应变化。设法编写数据驱动型界面,在此类界面中&…

Spring Boot 框架能够解决什么问题?

Spring Boot 是基于 Spring 框架的一个子项目,它旨在简化 Java 开发中的配置和部署过程,提供一种快速、敏捷的开发方式。Spring Boot 的设计理念是约定优于配置,通过默认配置和自动化,使得开发者能够更专注于业务逻辑的实现&#…

数据挖掘任务一般流程

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

WPF-附加属性《十二》

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

android studio 编译老项目失败问题处理

Unsupported Java. Your build is currently configured to use Java 17.0.6 and Gradle 6.7.1. Possible solution: - Upgrade Gradle wrapper to 7.2 version and re-import the project 假如的错误是上面的内容,请检查一下你的JDK版本是不是太高了&#xff0…

人工智能在红斑狼疮应用主要以下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&…