0


GoLang ~ 远程调试

前提条件

在编译go项目时,使用​​

go build -gcflags "all=-N -l"​​

,关闭内联优化,以支持debug。

关于​​-gcflags "-N -l"​​参数的解释:

编译时,如果编译的结果需要gdb调试则使用参数​​-gcflags "-N -l"​​,这样可以忽略Go内部做的一些优化,聚合变量和函数等优化。

服务器环境准备

1、go安装

wget https://go.dev/dl/go1.17.6.linux-amd64.tar.gz (选择版本下载)tar-zxvf go1.17.6.linux-amd64.tar.gz

2、生成临时环境变量

exportGOPATH=/tmp/goprojects
exportGOROOT=~/go
exportPATH="$PATH:$GOROOT/bin"

3、下载安装git root权限下可

​​yum install git​​

安装成功后再切换登录用户.

4、安装delve工具

git clone https://github.com/derekparker/delve.git
cd delve/cmd/dlv/
go build
go install

可执行文件在$GOPATH/bin路径下,如

​​/tmp/goprojects/bin​​

5、服务端启动监听服务 $GOPATH/bin/dlv attach 进程id --headless --api-version=2 --log --listen=:2345 如:

dlv attach 4056--headless --api-version=2--log--listen=:2345

如果提示没有权限,切换到root用户执行。

GoLand配置

不需要配置什么FSTP,上传代码,仅需要按下图配置一个​​

Go Remote

​​即可。
在这里插入图片描述

标签: golang git github

本文转载自: https://blog.csdn.net/ismartv_dagou2/article/details/128486639
版权归原作者 南柯好萌 所有, 如有侵权,请联系我们删除。

“GoLang ~ 远程调试”的评论:

还没有评论