美文网首页
【初级入门】Go M1不能Debug

【初级入门】Go M1不能Debug

作者: 24c41111e47b | 来源:发表于2022-09-01 10:41 被阅读0次

这里记录下,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啦


参考:

M1 Debug无法调试问题

相关文章

网友评论

      本文标题:【初级入门】Go M1不能Debug

      本文链接:https://www.haomeiwen.com/subject/xjajnrtx.html