M1 Mac(Apple Silicon)でGolang、VScode使ってデバッグ(delve)しようとしたらハマった話

結論

以下がはまりポイント(原因)だった。
・arm用のGolangをインストールしていなかった
・delveにPATH通してなかった
・VScodeをM1用(arm用)使ってなかった
特に最後のが気付くのが遅くなってハマった。

arm用のGolangをインストールしていなかった

この場合次のようなエラーがvscodeのデバッグコンソールにでる。

rosetta error: failed to allocate vm space for aot
Failed to continue - protocol error E74 during registers read for packet $g;thread:88fee;
Last known immediate stacktrace (goroutine id 0):
   ?:-1
       <unknown>
   :0
       <unknown>
   
https://github.com/go-delve/delve/issues/2246
ここで言われているようなこと。ちゃんとarm用入れれば大丈夫

delveにPATH通してなかった

これはうっかり。

VScodeをM1用(arm用)使ってなかった

これが最後まで気づけなかった。M1が出始めた時に入れてそのまま使ってたので、arm用のVScodeが出てるのを気にしてなかった。CPUのアーキテクチャに合っているかどうかは大事だし、Intelに染まってたんだなと再認識。
ちなみに出力されるエラーは以下。

could not launch process: stub exited while waiting for connection: exit status 0

この記事が気に入ったらサポートをしてみませんか?