使用goland調試遠程代碼

前言

很多時候我們都在window上使用goland,並直接使用goland調試go代碼。
但是很多時候我們的程序運行在Linux服務器上,雖然可以通過dlv命令行進行手動打斷點調試,但是太麻煩了。
因此我查閱資料發現,goland是支持遠程調試的,因此寫篇文章記錄一下。

操作步驟

  1. 安裝dlv

在Linux服務器上執行:go install github.com/go-delve/delve/cmd/dlv,安裝dlv調試工具,因為是go編譯的可執行程序,可以隨意複製,其他環境甚至都可以不安裝go語言環境。

  1. 按照goland提示添加遠程調試
    如下圖所示,配置一個遠程調試:

  1. 添加編譯配置
    如下圖所示,配置一個編譯:

  1. 在服務器運行
    將可執行程序上傳到服務器,並使用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

  1. 然後再window的goland上運行調試:

總結

從知道可以用dlv調試go代碼的時候,我在Linux下就用dlv命令行打斷點調試,太麻煩了,最後都是打印日誌搞定。
自從學會了遠程調試方法,現在調試代碼爽爽噠,就算遠端是個啥環境都可以遠程調試搞定。