使用 derekparker/delve 除錯 Go 程式
阿新 • • 發佈:2018-12-09
使用 derekparker/delve 除錯 Go 程式
安裝 delve 除錯工具
- 通過
go get
下載原始碼
go get -u github.com/derekparker/delve/cmd/dlv
- 安裝 dlv-cert 證書
在 derekparker/delve/scripts
下有 gencert.sh
指令碼,執行它來生成證書。需要輸入使用者密碼。 生成後在 Keychain 中可以看到。
- 更新 xcode command-line
xcode-select --install
但是升級後的CommandLineTools 的debug api有變化,目前暫時沒法用相容目前的delve。
- 安裝 dlv
解決上面 command-line 的問題。 在delve的目錄:$GOPATH/src/github.com/derekparker/delve
中執行下面的命令:
git remote add aarzilli [email protected]:aarzilli/delve.gitgit pull aarzilli debugserverfixGO15VENDOREXPERIMENT=1 CERT=dlv-cert make install
執行完在 $GOPATH/bin
中就能看到 dlv 了。
使用 VSCode 除錯
首先在 vscode 商店中搜索 Go 外掛。
生成 launch.json 配置
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${fileDirname}", "env": { "GOPATH": "/Users/x/golang" // 修改 GOPATH 路徑 }, "args": [], "showLog": true } ]}
配置完點選執行按鈕就能直接執行除錯了。
使用 Goland 除錯
主要是需要將 Goland 中的 dlv 進行替換掉,換成 $GOPATH/bin
中的 dlv。
在 Goland 中執行除錯會報錯誤,主要是應該 dlv 安裝的原因。
could not launch process: EOF