m1芯片Mac无法调试Goland的解决方案

查询了很多资料文章,下面这篇给了启发,记录一下我的解决方案

https://blog.csdn.net/zsi386/article/details/116357850?spm=1001.2014.3001.5501

问题描述

我的环境:

  • go version : go1.16.5 darwin/arm64. (下载时记得下载arm架构的)

  • goland version: 2020.3

  • mac version:Big Sur 11.4 MacBook Air m1芯片

    MvQldJ

调试出现的问题:

可以断点停下来,但是无法下一步和查看变量,无报错

断点都不可以停下的需要检查一下go的版本是否下载的arm架构

https://studygolang.com/dl

SjFTRk

解决方法

下载go-delve/delve

git clone https://github.com/go-delve/delve.git

下载慢的可以用这个:git clone https://github.com.cnpmjs.org/go-delve/delve.git

可以把它放在了GOPATH下的src/github.com//go-delve下,进入clone下来的delve中(cd delve),切换分支:

git checkout -b darwin-arm64-lldb

然后进入工程目录cd ./cmd/dlv/,重新编译:

go build
go install

(不需要修改代码,目前1205 bug估计已修复)

会在你的GOPATH/bin下重新生成二进制文件dlv

我的版本信息:

Delve Debugger
Version: 1.6.1
Build: $Id: 114218c22f3791287c4bc2f4ff35a846a1416ee9 $

设置你的goland (Help>Edit custom properties)指向它就可以:

dlv.path=/path/to/dlv (路径要改),然后可以debug了:

DHncf0

VWLHrO

出现原因

dlv老版本bug:

Big Sur11.3,lldb成了1205,dlv处理了1200,没处理1205

更新版本即可

猜你喜欢

转载自blog.csdn.net/weixin_43988498/article/details/118672452