前陣子delve終於把m1 support給integrate到main branch了,不過由於一來他還沒tag release,二來GoLand並沒有讓你選擇外置delve的選項,所以只能用它內置壞掉的delve。
不過其實是可以使用外置delve的,也一併可以經由compile新的delve解決m1相容問題。這邊有提供一些解法,翻譯成中文大概就是這樣:
- 安裝arm64版本的go,最簡單的方法就是直接brew install golang.
- 確認安裝的是Apple Silicon版本的GoLand
- 抓下並且編譯delve main branch。具體的做法是
git clone https://github.com/go-delve/delve
,然後進入delve目錄make install。他會把delve執行檔放到 ~/go/bin/dlv。 - 打開GoLand,選單選Help->Custom VM Options,增加一行
-Ddlv.path=/Users/<你的ID>/go/bin/dlv
- 重啟GoLand,恭喜,你的GoLand的debugger正常了。