当前位置: 首页 > news >正文

GO-vscode远程开发和调试

本文内容主要包括:

概述:

  • 主要就是把代码放到服务器上然后远程去开发和调试

工具:

  • vscode

远程端:

  • linux

一.安装远程插件

vscode安装Remote - SSH,Remote Explorer,Remote Development,Remote - SSH: Editing Configuration Files,Remote - Tunnels插件

二.建立远程连接

1.输入远程配置

2.选择保存配置的文件

3.选择连接的系统

 4.查看连接

5.打开代码所在的目录

 完成:

 6.测试

 三.远程调试

1.远程服务器需要安装dlv

delve,简称dlv是go语言的最常用的调试器

# 第一步:设置代理(如果可以访问外网可以不用这一步)
go env -w GOPROXY=https://goproxy.cn# 第二步安装(最新)
go install github.com/go-delve/delve/cmd/dlv@latest# 第三步:查看,注意版本一致
~]# dlv version
Delve Debugger
Version: 1.21.0
Build: $Id: fec0d226b2c2cce1567d5f59169660cf61dc1efe $~]# go version
go version go1.21.0 linux/amd64 # 指定安装
# Install at a specific version or pseudo-version:
$ go install github.com/go-delve/delve/cmd/dlv@v1.7.0    go.1.11
$ go install github.com/go-delve/delve/cmd/dlv@v1.7.3    go.1.16
$ go install github.com/go-delve/delve/cmd/dlv@v1.7.4-0.20211208103735-2f13672765fe# 如果安装的时候报错执行下面这个
go env -w GO111MODULE=auto

2.vscode中配置

 默认模板

 在vscode中鼠标移动到json的字段上会提示可以填写的参数。这里手动添加一条远程调试的配置,配置如下

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Launch Package","type": "go","request": "launch","mode": "auto","program": "${fileDirname}"},{// 调试配置的名称,用作vscode中区分"name": "remotedebug",// 调试类型,go语言当然选择go"type": "go",// 调试请求类型,可以选择launch启动调试和attach附加调试"request": "launch",// 调试模式,这里选择远程调试"mode": "remote",// 必填项,远程调试里好像没什么用处"program": "${fileDirname}",// 远程连接的端口号"port": 2345,// 远程主机的ip地址"host": "192.168.4.7",// 被调试的代码在远程主机上的路径,必须使用绝对路径.且具体到指定调试目录"remotePath": "/data1",}]
}

3.在远程主机中启动dlv

# cd 到源代码所在的目录,这个目录要与上一步在vscode中remotePath字段配置的路径一致运行以下命令
cd /data1dlv debug --headless --listen ":2345" --log --api-version 2

4.进行VScode调试

 操作快捷键

  • F5 开始调试
  • shift + F5 停止调试

本文参考:

VS Code远程调试golang代码_vs code go远程调试_Turbock的博客-CSDN博客

golang dlv 安装 - 小夜天 - 博客园 (cnblogs.com)

解决golang提示dial tcp 172.217.160.113:443: connectex: A connection attempt failed - 知乎 (zhihu.com)

相关文章:

GO-vscode远程开发和调试

本文内容主要包括: 概述: 主要就是把代码放到服务器上然后远程去开发和调试 工具: vscode 远程端: linux 一.安装远程插件 vscode安装Remote - SSH,Remote Explorer,Remote Development&#xff0c…...

【笔记】判断两个Double类型的值是否相同

在Java中,将两个double值转换为String类型,然后使用equals方法进行比较是一个常见的做法,但是这种方法并不是完全可靠,特别是在涉及浮点数的精度时仍然可能会遇到问题。 浮点数在内部以二进制表示,有时会存在舍入误差…...

Linux —— nfs文件系统

简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位…...

数据降维 | MATLAB实现T-SNE降维特征可视化

数据降维 | MATLAB实现T-SNE降维特征可视化 目录 数据降维 | MATLAB实现T-SNE降维特征可视化降维效果基本描述程序设计参考资料 降维效果 基本描述 T-SNE降维特征可视化,MATLAB程序。 T-分布随机邻域嵌入,主要用途是对高维数据进行降维并进行可视化&…...

蓝桥杯上岸每日N题 (交换瓶子)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注 题目描述 有 N 个瓶子,编号 1∼N,放在架子上。 比如有 5 个瓶子: 2 1 3 5 4 要求每次拿起 2 个瓶子,交换它们的位置。 …...

GMS基本模块TIN、Solids、Modflow2000/2005、MT3DMS、MODPATH。及其在地下水流动、溶质运移、粒子追踪方面的应用

解决地下水数值模拟技术实施过程中遇到的困难,从而提出切实可行的环境保护措施,达到有效保护环境、防治地下水污染,推动经济社会可持续发展的目的。 (1)水文地质学,地下水数值模拟基础理论;&am…...

MySQL数据库中间件Mycat介绍及下载安装(教程)

一,介绍 MyCat是开源的、活跃的、基于Java语言编写的MySQL数据库中间件。可以像使用MySQL一样来使用MyCat,对于开发人员来说根本感觉不到MyCat的存在。 开发人员只需要连接MyCat即可,而具体底层用到几台数据库,每一台数据库服务器…...

【VMware】CentOS 设置静态IP(Windows 宿主机)

文章目录 1. 更改网络适配器设置2. 配置虚拟网络编辑器3. 修改 CentOS 网络配置文件4. ping 测试结果 宿主机:Win11 22H2 虚拟机:CentOS-Stream-9-20230612.0 (Minimal) 1. 更改网络适配器设置 Win R:control 打开控制面板 依次点击&#x…...

机器学习十大算法之七——随机森林

0 引言 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个横型,集成所有模型的建模结果,基本上所有的机器学习领域都可以看到集成学习…...

spring boot 3使用 elasticsearch 提供搜索建议

业务场景 用户输入内容&#xff0c;快速返回建议&#xff0c;示例效果如下 技术选型 spring boot 3elasticsearch server 7.17.4spring data elasticsearch 5.0.1elasticsearch-java-api 8.5.3 pom.xml <dependency><groupId>org.springframework.boot</gr…...

住宅IP:解锁更快速、稳定的互联网,你准备好了吗?

随着互联网的广泛普及&#xff0c;我们对网络的需求也越来越高。无论是工作、学习还是娱乐&#xff0c;我们都希望能够享受到更快速、稳定的互联网连接。而在实现这一目标的过程中&#xff0c;住宅IP正逐渐崭露头角&#xff0c;成为了一种备受关注的解决方案。那么&#xff0c;…...

支持dolby vision的盒子接支持dolby vision的电视,在adaptive hdr时,播放非dv的hdr视频,输出sdr

支持dolby vision的盒子接支持dolby vision的电视&#xff0c;setting选择adaptive hdr&#xff0c;按照这个配置在播放非dv的hdr视频时&#xff0c;会输出sdr。 看起来是很不合理的&#xff0c;高级的产品播放高级的片源&#xff0c;却输出低级的画质。 想要搞清楚这个问题&am…...

使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

tiktok网上下载的short视频是webm格式的&#xff0c;有些程序无法处理该程序&#xff0c;比如roop程序&#xff0c;本文介绍了如何使用wxPython库创建一个简单的GUI应用程序&#xff0c;用于将WebM文件转换为MP4文件。这个应用程序使用Python编写&#xff0c;通过调用FFmpeg命令…...

Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”

Prompt任务&#xff08;Prompt Tasks&#xff09; 通过设计提示&#xff08;prompt&#xff09;模板&#xff0c;实现使用更少量的数据在预训练模型&#xff08;Pretrained Model&#xff09;上得到更好的效果&#xff0c;多用于&#xff1a;Few-Shot&#xff0c;Zero-Shot 等…...

玩转Mysql系列 - 第6篇:select查询基础篇

这是Mysql系列第6篇。 环境&#xff1a;mysql5.7.25&#xff0c;cmd命令中进行演示。 DQL(Data QueryLanguage)&#xff1a;数据查询语言&#xff0c;通俗点讲就是从数据库获取数据的&#xff0c;按照DQL的语法给数据库发送一条指令&#xff0c;数据库将按需求返回数据。 DQ…...

【SpringCloud技术专题】「Gateway网关系列」(1)微服务网关服务的Gateway组件的原理介绍分析

为什么要有服务网关? 我们都知道在微服务架构中&#xff0c;系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢&#xff1f;难道要一个个的去调用吗&#xff1f;很显然这是不太实际的&#xff0c;我们需要有一个统一的接口与这些微服务打交道&#xf…...

【面试刷题】————STL中的vector是如何实现的?

STL&#xff08;Standard Template Library&#xff09;是C标准库中的一部分&#xff0c;它提供了许多常用的数据结构和算法&#xff0c;其中包括了动态数组 vector。 vector std::vector 是一个动态数组&#xff0c;它能够自动调整自己的大小&#xff0c;以适应存储元素的需…...

使用钉钉的扫码会出现多个回调(DTFrameLogin)

官方&#xff1a;地址 标题 出现的问题解决后效果正常使用(按照官网的流程进行使用)自己的理解(路人可忽略该内容&#xff01;) 出现的问题 1692861955468 解决后效果 1692861665687 正常使用(按照官网的流程进行使用) fn.js 该文件就是钉钉官网的js文件&#xff0c;我下载到了…...

Android | 关于 OOM 的那些事儿

作者&#xff1a;345丶 前言 Android 系统对每个app都会有一个最大的内存限制&#xff0c;如果超出这个限制&#xff0c;就会抛出 OOM&#xff0c;也就是Out Of Memory 。本质上是抛出的一个异常&#xff0c;一般是在内存超出限制之后抛出的。最为常见的 OOM 就是内存泄露(大量…...

珠玑妙算游戏

珠玑妙算游戏&#xff0c;OJ练习 一、描述二、方法一三、方法二 一、描述 珠玑妙算游戏&#xff08;the game of master mind&#xff09;的玩法如下&#xff1a; 计算机有4个槽&#xff0c;每个槽放一个球&#xff0c;颜色可能是红色&#xff08;R&#xff09;、黄色&#xf…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...