首页 > 其他分享 >[效率大杀器] go工具篇:dlv + goland 实现远程调试

[效率大杀器] go工具篇:dlv + goland 实现远程调试

时间:2023-12-07 15:48:36浏览次数:34  
标签:github goland 大杀器 dlv go delve com 远程

dlv + Goland 远程调试

远程调试就是使用使用本地 IDE 来调试远程服务器上的服务。本地打断点,调用远程服务的接口。本地就会停在断点。

相当于 debug 远程服务。优点是可以保持环境的一致性。

dlv 的安装

git 仓库:https://github.com/derekparker/delve

将 div 安装到远程服务器。Linux下的安装:

git 仓库中有两种安装方式:

  1. 使用 go get
go get github.com/go-delve/delve/cmd/dlv

这种方式我没有安装成功,不太了解需要在哪个目录下使用该命令来进行安装。

  1. 使用库安装
$ git clone https://github.com/go-delve/delve.git $GOPATH/src/github.com/go-delve/delve
$ cd $GOPATH/src/github.com/go-delve/delve
$ make install

这里我是 clone 到我项目所在目录。

安装完成之后验证:

dlv + Goland 的使用

  1. 打包:
go build -gcflags "all=-N -l" test1.go
  1. 运行
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./test1

注:dlv 运行的服务只能使用 kill 来讲进程杀死的方式来终止服务

  1. 本地Goland配置
    其中 Host 设置我对应服务器 IP, Port 为对应端口

标签:github,goland,大杀器,dlv,go,delve,com,远程
From: https://www.cnblogs.com/yxl19991104/p/17882092.html

相关文章

  • goland 无法打开问题
    下载了官网最新的goland安装包,安装完成之后,goland却无法打开了。  一番排查之后,发现是之前安装的版本有一些残留的配置项。配置项中有些文件的已经不存在了,需要去手动清理 解决方法第一步:在访达中打开软件源文件打开Finder(访达)-->Applications(应用程序)-->Go......
  • windows系统使用终端和goland编辑器打包golang程序方法
    上一篇文章说了,windows系统,如何使用goland编辑器打包exe和linux程序,这篇文章再补充一下,使用终端和goland编辑器打包的对比情况。这里的终端可以是,cmd、WindowsPowerShell、MINGw64这里,我使用goland编辑器里面的Terminal,也就是WindowsPowerShelll来操作1、goland编辑器打......
  • Goland推荐插件
    统一代码import风格代码缩略图-CodeGlance3代码缩略图,主要是一个文件里面代码太长的话,可以通过这个缩略图快速去到想要的代码块。因为是自己写的代码,有时候写多了,或者都是在改一份代码,通过缩略图里面的长短,可以分辨出来,某个方法在哪个地方。个人习惯就是通过直接点击缩略图上......
  • golang版本升级(Mac GoLand版)
    本地的go版本是1.18,想升级到1.21,运用GoLand做快速升级第一步  进入GoLand-》Preferences第二步  进入Go-〉GOROOT点击“+”号,选择“Download”第三步选择需要更新的版本 点击“OK”后“Apply”,最新版的go就会下载到你的GOPATH里面了 升级完新版本后,deb......
  • Golang 大杀器之trace
    需要下载graphvizpackagemainimport( "log" "os" "runtime/trace")funcmain(){ file,err:=os.Create("trace.out") iferr!=nil{ log.Fatal(err) } deferfile.Close() err=trace.Start(file) iferr!=ni......
  • Golang大杀器之pprof
    需要下载graphvizpackagemainimport( "math/rand" "os" "runtime/pprof" "time")funcgenerate(nint)[]int{ rand.Seed(time.Now().UnixNano()) nums:=make([]int,0) fori:=0;i<n;i++{ nums=append(......
  • goland
    goland要是有个社区版就好了-javaagent:/Users/xxx/bin/ja-netfilter.jar=jetbrains https://www.cnblogs.com/zgcblog/p/17269749.htmlMXMQUYT815-eyJsaWNlbnNlSWQiOiJNWE1RVVlUODE1IiwibGljZW5zZWVOYW1lIjoiSHVuYW4gSW5zdGl0dXRlIG9mIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3kiLCJ......
  • 在goland上部署环境用于区块链开发
    1.下载ubantu虚拟环境,使用Linux。(直接在goland中的plugin搜索下载)2.在plugin中搜索Remotedevelopmentconnector下载,用于远程开发3.在terminal中使用ubantu,下载NVM用于管理Node.js版本的工具curl-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh|bas......
  • idea或者goland输出拷贝问题
    比如你拷贝一串很长的base字符串或者是json串,你会把\n也拷贝出来,这时候就很头疼,有2种解决方案,1是直接写文件,然后文件里copy出来2是借助vim,windows上面是gvim,查找\n,就能把隐藏的\n查出来,也算是一个小tips。......
  • GO基础环境搭建GoLand
    一、GO官方资料官网:https://golang.org/gosdk下载:https://golang.google.cn/dl/golang中文社区:https://studygolang.com/dl中文社区文档https://studygolang.com/pkgdoc二、开发环境配置1、GOSDK下载后,自行安装go语言开发需要使用gosdk,下载链接https://go.dev/dl/下载......