前言
之前写过一个goland本地调试,为什么可以本地调试还要远程调试呢?
首选声明一点,本地调试是首选,如果可以本地调试,那自然是本地调试最方便。
但是,本地环境和实际环境很多时候是不一样的,很难在本机搭建出与线上完全相同的环境,比如我们想调试数据库、调试rpc、调试服务注册发现,这些线上都是现成的,但在我们本机就很难复制,再比如线上的网络和我们本机的网络环境是不一样的,这些场景下本地调试均无法满足我们的需求,需要把我们的程序部署在线上环境,才能测试。
之前不知道远程调试,我都是改好了程序,push到git上,然后到线上的机器pull下来,编译,运行,看日志。。。一方面,每次改完程序想测试一下,很繁琐,另一方面,完整的开发完一个feature,产生了几十次commit。。。
好在,goland有远程调试功能!
有了远程调试,在goland写完代码,直接同步到远端机器,然后点小虫子按钮调试,然后设断点。。。嗯,就基本上跟本地调试一样方便了。
说明
在说具体配置方式之前说明几点:
1.配置过程不需要翻墙,配置过程中会从github下载一些东西,会很慢,但是可以!
2.本地的gopath和远端机器不需要一致,go版本也不需要一致,如果你本地和远端都有go环境,无需做任何调整!
总之就是,配置成本不高,很easy~
远端机器配置
远端机器配置说明
我的远端机器是百度云的服务器,系统是ubuntu1604,配置如下:
嗯,就是最便宜的那款。。。
go版本是1.12.4。
gopath如下。
注意,这里只是为了说明,go版本和gopath真的无所谓,因为后面你会发现这跟我本机的配置完全不一样。
安装dlv
下面开始装东西,其实只需要装一个delve,这是个啥呢,直接贴上github上的简介吧。