Bug:Goland debug失效详细解决步骤【合集】

Bug:Goland debug失效详细解决步骤【合集】

今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束。网上搜寻了大量文章,最后得以解决,特此在这里总结几种Goland debug失效常见情况。

  • 如果大家还有碰到其他debug失效的情况,也欢迎👏🏻补充~

情况一:Go或Goland架构不对

比如:我本地是Mac apple芯片,我应该下载对应arm64架构的go或者Goland

  1. 查看本地Goland是否与本地系统匹配
  1. 查看本地Go架构是否与本地系统匹配
go 复制代码
go version

解决办法: 下载正确✅版本的go或goland

go下载地址:https://go.dev/dl/

goland下载地址:https://www.jetbrains.com/go/download/

情况二:dlv版本过低

dlv(全称delve):用于调试golang的工具

Goland软件内置了一个dlv,如果该dlv版本与你本地使用go版本不兼容,会导致断点失效。同时控制台告警:WARNING: undefined behavior - version of Delve is too old for Go version go1.23.0 (maximum supported version 1.21)


解决办法: 升级dlv版本

bash 复制代码
# 升级delve
brew install delve
# 进入delve安装目录
cd /opt/homebrew/Cellar/delve
# 最新的是delve 1.24.0,所以再进入1.24.0目录
cd 1.24.0/bin
# 将bin目录下的可执行文件拷贝到goland原有的dlv目录下
cp dlv /Applications/GoLand.app/Contents/plugins/go-plugin/lib/dlv/macarm

升级完之后,重启goland,问题即可解决

情况三:本地Go arch设置错误

比如,我是Mac apple芯片,本地是arm64架构,但我go env的GOARCH设置的如果是amd64,就会报如下错误:protocol error E09 during set breakpoint for packet


解决办法: 修改GOARCH为正确配置

go 复制代码
// 通过下面命令改回arm64
go env -w GOOS=darwin GOARCH=arm64

成功解决:

相关推荐
猫头虎1 小时前
2025年02月11日 Go生态洞察:Go 1.24 发布亮点全面剖析
开发语言·后端·python·golang·go·beego·go1.19
DemonAvenger6 小时前
HTTP/2在Go中的实现与优化
网络协议·架构·go
程序员爱钓鱼7 小时前
Go语言实战案例-括号匹配算法
后端·google·go
程序员爱钓鱼7 小时前
Go语言实战案例-判断字符串是否由另一个字符串的字母组成
后端·google·go
ん贤19 小时前
Zap日志库指南
后端·go
ん贤21 小时前
GoWeb必备理论
go·web
ansurfen1 天前
自制编程语言 Hulo —— 模块系统跳票,但Batch和Powershell对接、解释器初步
go·编程语言
~央千澈~1 天前
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
java·python·go·node
咖啡_SJ1 天前
Java开发者学Go:序言 - 航母与驱逐舰
go
SAP龙哥1 天前
SAP在未启用负库存的情况下,库存却出现了负数-补充S4 1709 BUG
运维·bug