GO-vscode远程开发和调试

news/2024/7/16 8:53:21 标签: vscode, ide, 编辑器, golang, 服务器

本文内容主要包括:

概述:

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

工具:

远程端:

  • 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 /data1

dlv 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)


http://www.niftyadmin.cn/n/4964051.html

相关文章

软考高级系统架构设计师系列论文八十:论企业信息化战略规划技术

软考高级系统架构设计师系列论文八十:论企业信息化战略规划技术 一、企业信息化相关知识点二、摘要三、正文四、总结一、企业信息化相关知识点 软考高级系统架构设计师:企业信息化战略与实施

【总结】uniapp以及wx小程序 相关写法集合

一、css 二、方法 uniApp 1、动态修改头部标题 uni.setNavigationBarTitle({title: this.dynamicTitle,success: () > {console.log(修改标题成功)},fail: () > {console.log(修改标题失败)},complete: () > {console.log(修改标题结束)} }) 2、预览图片单张/多张…

解决问题:如何在 Git 中查看提交历史

可以使用以下命令查看 Git 中的提交历史: git log这将显示当前分支上的所有提交历史。每个提交的输出包括提交哈希(SHA-1 值)、作者、日期和提交注释。 您也可以添加一些选项,以获取更详细的提交历史: --oneline 显示…

爱校对发布全新PDF校对工具,为用户带来更为便捷的校正体验

随着数字化文档使用的普及,PDF格式已经成为最为广泛使用的文件格式之一。为满足广大用户对于高效、准确PDF文档校对的需求,爱校对团队经过深入研发,正式推出全新的PDF校对工具! 这一全新工具针对PDF文件格式进行了深度优化&#…

Lambda表达式常用场景

1、集合变字符串 如果你的集合里泛型是List<String>&#xff0c;那么可以直接用String.join(",",你的集合),把它变为字符串。 String.join(",", yourList) 但是如果你的集合是&#xff0c;List<Integer>、List<Long>&#xff0c;那么St…

ABTest学习路径

ABTest基础概念 AB测试可以用来测什么&#xff1f;不能测什么&#xff1f;_紫昂张的博客-CSDN博客 AA实验是什么&#xff1f;_紫昂张的博客-CSDN博客 ABTest&统计学 ABTest&Python ABTest实例

nodejs根据pdf模板填入数据并生成新的pdf文件

导入pdf-lib库 npm install pdf-lib fs 具体代码 const { PDFDocument, StandardFonts } require(pdf-lib); const fs require(fs);async function fillPdfTemplate(templatePath, outputPath, fieldData) {const templateBytes await fs.promises.readFile(templatePath…

“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:多无人机协同任务规划

目录 摘 要: 一 问题重述 1.1.问题背景 1.2 需要解决的问题 二 模型假设