debugging GoLand上的苹果硅无法调试golang项目

mbzjlibv  于 2023-05-07  发布在  Go
关注(0)|答案(8)|浏览(228)

**编辑2021-01-28:整个问题现在已经过时了,因为GoLand 2020.3.2是released today,它包括一个工作的钻研。

我试图调试Golang项目与苹果硅上的GoLand,但它不工作;以下错误:

API server listening at: [::]:62619
debugserver-@(#)PROGRAM:LLDB  PROJECT:lldb-1200.0.44 for x86_64.
error: failed to launch process /Library/Developer/CommandLineTools/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/debugserver: (os/kern) invalid argument
Exiting.
could not launch process: stub exited while waiting for connection: exit status 0
5m1hhzi4

5m1hhzi41#

我有golang 1.16.6,仍然面临着这个错误消息相同的问题:Use go sdk for darwin/arm64
我的解决方案是添加以下ENV
GOOS=darwin, GOARCH=arm64

r8uurelv

r8uurelv2#

**编辑2021-01-28:这整个问题(和这个答案)现在已经过时了,因为GoLand 2020.3.2是released today,它包括一个工作的钻研。

user14892075's answer和主要是https://www.reddit.com/r/golang/comments/kqgxel/debugging_wcli_and_goland_works_on_apple_m1/的推动下,在Goland和dlv正式发布之前,以下是该技术
1.安装arm 64的golang。最简单的方法是brew install golang * 如果 * 你有brew的arm 64版本,它现在运行得很好。这将让你在这个时候golang v1.16-beta1。
1.安装Apple Silicon版本的Goland
1.快看德维。PR已经被合并了,git clone https://github.com/go-delve/delve,然后用cd delve && make install构建它,这将把dew放在~/go/bin/dlv中
1.打开Goland并转到帮助-〉编辑自定义VM选项。在这里添加一行-Ddlv.path=/Users/rfay/go/bin/dlv(将用户名从rfay更改为您的用户名,或者将路径编辑为您构建的dlv的完整路径)。
1.重启Goland

1bqhqjot

1bqhqjot3#

GoLand使用Delve作为调试器。Delve目前还不支持Apple Silicon。
在Jetbrains和Delve有跟踪这个的bug票。我建议你看看这些票的更新:

  1. https://youtrack.jetbrains.com/issue/GO-10235
  2. https://github.com/go-delve/delve/issues/2246
    但不要指望“稳定”和官方的东西,直到Go版本1.16,其中有官方的苹果硅支持。目前,计划于2月发布。
    Go支持Apple Silicon可能是Delve在Apple Silicon上工作的先决条件,因为通过Rosetta进行调试似乎不可行。因此,Delve需要使用Go 1.16编译,才能在Apple Silicon上原生工作。

**因此,Apple Silicon对Delve的官方支持可能不会在2021年2月之前发生。

cunj1qz1

cunj1qz14#

我已经安装了go(达尔文)的版本,这是1.16和钻研之前。我试着设置环境像(“env”:{“GOOS”:“达尔文”,“GOARCH”:“arm 64”})和更新包,这些都没有工作。
我通过以下步骤解决了VSCode中的问题:

  1. Go:选择go环境
    1.选择或获取go1.17.3/更高版本
    1.按F5 -它会警告你不安装或直接安装〉去:安装/更新工具-然后选择钻研。
rfbsl7qr

rfbsl7qr5#

我在我的苹果M1 Pro上也有同样的问题,我已经安装了苹果硅Goland(2021.3.4 apple silicon version)和Golang(1.18 drawin/arm64)。
因为我从旧机器(2019 Mac Pro)迁移到新机器(2021 Mac M1)。我的/Applications/Xcode.app/Contents/Developer是老领导这个问题。
尝试:

// remove CommandLineTools
$ sudo rm -rf /Library/Developer/CommandLineTools

// reinstall, about 20min
$ xcode-select --install

那就没事了!

7vhp5slm

7vhp5slm6#

现在可以用了。请看:https://github.com/oxisto/delve/tree/darwin-arm64-lldb它还没有合并到master分支;'去构建'它并替换Goland dlv插件,然后Debugger工作。

sycxhyv7

sycxhyv77#

我今天在Goland 2022.3上遇到了同样的问题。您需要为Mac M1使用正确的Go版本。然后更新GOARCH可以有所帮助。
我通过Preferences -〉Go -〉Build Tags & Vendoring修复了这个错误,然后在Arch上将值更新为arm64

bhmjp9jg

bhmjp9jg8#

这对Goenv有效

arch -arch x86_64 goenv install

关于ASDF

ASDF_GOLANG_OVERWRITE_ARCH=amd64 asdf install

相关问题