這里記錄下,M1不能Debug的解決方案
查看安裝環(huán)境是否正確
go語言環(huán)境和GoLand編輯器最新版已經(jīng)支持了Debug,如果安裝了最新版仍然不能debug, 請檢查對應(yīng)的Go語言環(huán)境是否和GoLand匹配
查看Go環(huán)境
$ go version
輸出如下:
go version go1.16.5 darwin/amd64
但是筆者這里安裝的GoLand是Mac M1版本的,也就是arm架構(gòu),所以筆者debug不能使用,然后卸載 go語言環(huán)境,重新安裝即可正常使用
arm版本輸出如下:
go version go1.16.5 darwin/arm64
查看debug工具是否正常
如果按照上面的配置,還是沒有解決問題,報錯如下:
GOROOT=/usr/local/go #gosetup
GOPATH=/Users/xiong/go #gosetup
/usr/local/go/bin/go build -o /private/var/folders/7p/my71y44x2651_c2dr5p771rm0000gn/T/___1go_build_quicksort -gcflags all=-N -l quicksort #gosetup
/Applications/GoLand.app/Contents/plugins/go/lib/dlv/macarm/dlv --listen=0.0.0.0:65304 --headless=true --api-version=2 --check-go-version=false --only-same-user=false exec /private/var/folders/7p/my71y44x2651_c2dr5p771rm0000gn/T/___1go_build_quicksort --
API server listening at: [::]:65304
debugserver-@(#)PROGRAM:LLDB PROJECT:lldb-1205.0.27
for arm64.
Got a connection, launched process /private/var/folders/7p/my71y44x2651_c2dr5p771rm0000gn/T/___1go_build_quicksort (pid = 9182).
分析原因:
注意分析關(guān)鍵字 /Applications/GoLand.app/Contents/plugins/go/lib/dlv/macarm/dlv, dlv是golang的debug工具,所以這里是debug工具的問題
解決:
1.去github上下載debug工具delve, 或者使用如下命令安裝
go install github.com/go-delve/delve/cmd/dlv@latest
安裝完成后會在你的$GOPATH/bin目錄下生成一個dlv二進制文件(查看GOPATH路徑 go env)
2.在$GOPATH/bin目錄下新建macarm目錄, 將dlv二進制文件移動到macarm目錄下
3.需要去goland里面去設(shè)置,點開HELP--Edit Custom Properties, 他會提示我們創(chuàng)建一個文件,然后我們在其中添加一行:
# custom GoLand properties, 注意這里必須用絕對路徑,不能用變量如 $HOME
dlv.path=你的gopath目錄/bin
4.最后重啟goland就可以愉快的debug啦