前言

很多時候我們都在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命令列打斷點除錯,太麻煩了,最後都是列印日誌搞定。

自從學會了遠端除錯方法,現在除錯程式碼爽爽噠,就算遠端是個啥環境都可以遠端除錯搞定。