GoLang远程开发配置

本文介绍如何配置GoLang如何在服务器上进行调试开发

附上官网说明:

https://www.jetbrains.com/help/go/attach-to-running-go-processes-with-debugger.html#step-2-run-delve-on-the-host-machine

远程环境与本地环境版本最好相同,避免玄学错误

远程环境

远程使用Ubuntu18

Go语言linux版下载链接:go1.16.linux-amd64.tar.gz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 使用命令解压压缩包
tar -C ./env/go -zxf go1.16.linux-amd64.tar.gz
# 配置环境变量
vim ~/.bashrc
# 在最下面加上这几行
# >>> go env >>>
export GOPATH=~/.go
export GOROOT=~/env/go
export GOBIN=$GOROOT/bin
export PATH=$GOBIN:$PATH
# <<< go env <<<
# 使环境变量生效
source ~/.bashrc
# 执行命令
go version
# 输出:go version go1.16 linux/amd64

# 安装远程调试工具
# github:https://github.com/go-delve/delve
# 执行以下命令:
go install github.com/go-delve/delve/cmd/dlv@latest
# 安装完成后,执行以下命令验证:
dlv version

Delve Debugger
Version: 1.6.0
Build: $Id: 8cc9751909843dd55a46e8ea2a561544f70db34d $

# 至此远程环境配置完成

本地环境

本地使用GoLand进行开发

在本地新建Hello.go文件

1
2
3
4
5
6
7
8
9
10
package main

import "fmt"

func main() {
fmt.Println("run")
fmt.Println("debug")
fmt.Println("finish")
}

然后创建Go.mod文件

!!!很重要,不然无法断点调试

image-20210306120910761

在GoLand配置Deployment,将本地文件同步到服务器上,如何配置Deployment参考网络上其他教程,讲这部分内容的很多,主要步骤如下截图:

image-20210306103624938

image-20210306103717312

点击这里

image-20210306103925994

新建一个Go Remote配置

image-20210306103951739

根据自己的情况设置IP和端口

image-20210306104039977

远程环境的终端上进入刚刚的项目路径(比如我的是/tmp/go_practice/2021-03-06),然后选择执行如下命令

1
2
在 main.go目录下执行 
dlv debug --headless --listen=:2345 --api-version=2

然后回到Goland点击调试即可

image-20210306121101391

直接在GoLand中进行远程调试就很方便了。

image-20210306121931106