goland 远程调试 golang

goland是基于intellij IDEA推出的开发go的IDE,所以很多之前Intellij的使用习惯可以保留下来,实属developer的福音,今天遇到一个新的问题,就是我要调试远程服务器上的go代码,远程系统是ubuntu或者centos,总之是没有图形界面的,我想在本地调试该怎么办呢,答案是使用Delve 这个专门的调试工具。

前提:本地代码和远程代码保持一致,否则可能出现断点语句跟预期不一致或莫名其妙的情况。可以在Intellij中使用经典的remote host access插件来dowload或者upload代码实现同步。因为比较简单,具体使用姿势自行探索。

step1 远程主机

安装delve,项目地址:https://github.com/derekparker/delve
按照官方的提示安装即可

下载并安装完成后输入dlv就会看到帮助信息:

step2 本地

本地进入IDE,在要调试的地方打上断点,然后
run--debug--eidit configurations-->添加remote主机信息。

点debug 确认后,就会等待远端传回的debug信息。切远端:

step3 远端

如我要对 main.go 这个项目debug,对main进行编译后,可以直接运行
dlv --listen=:2345 --headless=true --api-version=2 exec ./main
然后本地就收到了调试信息。(此方法可用 ctrl+c 停止调试)

或者在 main.go目录下执行 

dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient

然后goland 选择第二步配置的选项,点击调试即可。(此方法无法用 ctrl+c 停止调试)


 

发布了57 篇原创文章 · 获赞 537 · 访问量 485万+

猜你喜欢

转载自blog.csdn.net/whatday/article/details/103979142