前言
很多時候我們都在window上使用goland,並直接使用goland除錯go程式碼。
但是很多時候我們的程式執行在Linux伺服器上,雖然可以通過dlv
命令列進行手動打斷點除錯,但是太麻煩了。
因此我查閱資料發現,goland是支援遠端除錯的,因此寫篇文章記錄一下。
操作步驟
- 安裝dlv
在Linux伺服器上執行:go install github.com/go-delve/delve/cmd/dlv
,安裝dlv除錯工具,因為是go編譯的可執行程式,可以隨意複製,其他環境甚至都可以不安裝go語言環境。
- 按照goland提示新增遠端除錯
如下圖所示,配置一個遠端除錯:
- 新增編譯配置
如下圖所示,配置一個編譯:
- 在伺服器執行
將可執行程式上傳到伺服器,並使用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
- 然後再window的goland上執行除錯:
總結
從知道可以用dlv除錯go程式碼的時候,我在Linux下就用dlv命令列打斷點除錯,太麻煩了,最後都是列印日誌搞定。
自從學會了遠端除錯方法,現在除錯程式碼爽爽噠,就算遠端是個啥環境都可以遠端除錯搞定。