本文主要是介绍Goland debug失效详细解决步骤(合集),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这...
Bug:Goland debug失效详细解决步骤【合集】
今天用Goland开发时php,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束。网上搜寻了大量文章,最后得以解决,特此在这里总结几种Goland debug失效常见情况。
情况一:Go或Goland架构不对
比如:我本地是MAC apple芯片,我应该下载对应arm64架构的go或者Goland
查看本地Goland是否与本地系统匹配
查看本地Go架构是否与本地系统匹配
go version
解决办法: 下载正确版本的go或goland
go下载地址:https://go.dev/dl/
goland下载地址:htphptps://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版本
# 升级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架构js,但我go env的GOARCH设置的如果是amd64,就会报如下错误:protocol error E09 during set breakpoint for packet
解决办法: 修改GOARCH为正确配置
// 通过下面命令改回arm64 go env -w GOOS=darwin GOARCH=arm64
成功解决:
到此这篇关于Goland debug失效详细js解决步骤(合集)的文章就介绍到这了,更多相关Goland debug失效内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!China编程
这篇关于Goland debug失效详细解决步骤(合集)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!