工欲善其事必先利其器。任何一个好的开发都不离开好的调试。本篇就介绍几种Linux上针对go程序的调试手段。

一、使用VSCode

基本做法:通过vscode远程功能(需下载如图所示插件,并连接上远程服务器),打开服务器端代码,然后按照提示安装dlv插件,点击“运行”— “启动调试”。

优点:服务器代码与编译器代码一致,能够做到开发与调试的代码高度一致

缺点:vscode开发效率不如Goland;会占用一部分服务器资源。

二、Goland远程开发

基本方法:和vscode做法一致,通过打开远程代码,直接进行开发调试。

优点:开发效率比vscode高

缺点:会占用一部分服务器资源,实测应该比vscode稍笨重。

三、Goland远程调试

基本方法:使用Goland编辑器远程调试功能,与IDEA远程调试java程序及其类似。将打好的包放在远程服务器上,通过dlv调试工具开放远程端口,然后配置Goland的主机和端口,进行调试。如下图所示。

优点:本地开发,不占用远程资源,调试方便。

缺点:本地代码需放在linux服务器上编译,每次需要手动传代码。

调试方法:

  1. 远程服务器安装dlv调试工具

2. 编译代码,注意使用gcflags。 -N 禁止编译器优化 -l 禁止内联

3. 服务器端运行调试命令

4. 本地Goland配置远程ip和端口