GoLand使用Delve远程调试树莓派遇dlv适配问题求助
解决GoLand远程调试树莓派时dlv版本不匹配问题
1. 找到GoLand自带dlv的位置
GoLand自带的dlv存放在其安装目录的插件文件夹中,针对M1 Mac的路径通常为:
/Applications/GoLand.app/Contents/plugins/go/lib/dlv/macarm64/dlv
如果是自定义安装路径,可通过GoLand设置 Go > GOROOT 定位到Go插件目录,再找到对应架构的dlv文件夹。
2. 编译适配树莓派的dlv版本
确保使用与应用完全相同的Go版本进行编译,在终端执行以下命令(匹配你的树莓派环境变量):
GOOS=linux GOARCH=arm GOARM=5 go install github.com/go-delve/delve/cmd/dlv@latest
编译完成后,dlv二进制文件会生成在 $GOPATH/bin/linux_arm/dlv(若未设置GOPATH,默认路径为 ~/go/bin/linux_arm/dlv)。
3. 配置GoLand使用自定义dlv
- 打开GoLand的设置面板(快捷键
Cmd+,),进入Go > Debugging - 在
Delve executable选项中,点击右侧选择按钮,定位到刚才编译好的linux_arm版本dlv - 保存设置后,回到你的远程调试运行配置,确保环境变量
GOOS=linux;GOARCH=arm;GOARM=5保持不变 - 重新启动远程调试,此时GoLand会复制适配树莓派的dlv到目标设备,而非自带的Mac版本
注意:必须保证编译dlv的Go版本与应用编译版本一致,否则可能出现调试会话异常。
内容的提问来源于stack exchange,提问作者Dan Sherwin
相关产品推荐
相关产品推荐

