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

42 阅读1分钟

dlv + Goland 远程调试

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

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

dlv 的安装

git 仓库:github.com/derekparker…

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

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

  1. 使用 go get

    go get github.com/go-delve/delve/cmd/dlv

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

  1. 使用库安装

    gitclonehttps://github.com/godelve/delve.gitgit clone https://github.com/go-delve/delve.gitGOPATH/src/github.com/go-delve/delve cdcdGOPATH/src/github.com/go-delve/delve $ make install

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

安装完成之后验证:

dlv + Goland 的使用

  1. 打包:

    go build -gcflags "all=-N -l" test1.go

  2. 运行

    dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./test1

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

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