这里记录下,M1不能Debug的解决方案
查看安装环境是否正确
go语言环境和GoLand编辑器最新版已经支持了Debug,如果安装了最新版仍然不能debug, 请检查对应的Go语言环境是否和GoLand匹配
查看Go环境
$ go version
输出如下:
go version go1.16.5 darwin/amd64
但是笔者这里安装的GoLand是Mac M1版本的,也就是arm架构,所以笔者debug不能使用,然后卸载 go语言环境,重新安装即可正常使用
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).
分析原因:
注意分析关键字 /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里面去设置,点开HELP--Edit Custom Properties, 他会提示我们创建一个文件,然后我们在其中添加一行:
# custom GoLand properties, 注意这里必须用绝对路径,不能用变量如 $HOME
dlv.path=你的gopath目录/bin
4.最后重启goland就可以愉快的debug啦
网友评论