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、生成临时环境变量

export GOPATH=/tmp/goprojects
export GOROOT=~/go
export PATH="$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​​即可。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值