很多时候我们都在window上使用goland,并直接使用goland调试go代码。
但是很多时候我们的程序运行在Linux服务器上,虽然可以通过dlv命令行进行手动打断点调试,但是太麻烦了。
因此我查阅资料发现,goland是支持远程调试的,因此写篇文章记录一下。
安装dlv
在Linux服务器上执行:go install github.com/go-delve/delve/cmd/dlv,安装dlv调试工具,因为是go编译的可执行程序,可以随意复制,其他环境甚至都可以不安装go语言环境。
按照goland提示添加远程调试
如下图所示,配置一个远程调试:
添加编译配置
如下图所示,配置一个编译:
在服务器运行
将可执行程序上传到服务器,并使用dlv运行:
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./test001_linux
带命令行参数,在可执行程序后面带上 --,再后面就是命令行参数:
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./test001_linux -- -s 123
然后再window的goland上运行调试:
总结从知道可以用dlv调试go代码的时候,我在Linux下就用dlv命令行打断点调试,太麻烦了,最后都是打印日志搞定。
自从学会了远程调试方法,现在调试代码爽爽哒,就算远端是个啥环境都可以远程调试搞定。