当前位置: 首页 > article >正文

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

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

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

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

情况一:Go或Goland架构不对

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

  1. 查看本地Goland是否与本地系统匹配

在这里插入图片描述

  1. 查看本地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版本

# 升级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为正确配置

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

成功解决:
在这里插入图片描述


http://www.kler.cn/a/553034.html

相关文章:

  • 16-省份数量
  • 0081.基于springboot+uni-app的垃圾分类小程序+论文
  • 数据结构与算法学习笔记----计数类DP
  • 学习路之微服务--PHP中实现微服务几种方式
  • vue非组件的初学笔记
  • unity学习49:寻路网格链接 offMeshLinks, 以及传送门效果
  • Java基础——代理模式
  • Vue的双向数据绑定和React的单向数据流在处理对象数组时的行为
  • html css js网页制作成品——HTML+CSS李钧锐网页设计(4页)附源码
  • HCIA-Access V2.5_13_1_4_VLAN切换
  • C语言中ASCII码与整型互相转换的那些事儿
  • 前端VUE3的面试题
  • 深入解析SORT多目标跟踪算法:从原理到实现
  • 工业制造能耗管理新突破,漫途MTIC-ECM平台助力企业绿色转型!
  • 亲测Windows部署Ollama+WebUI可视化
  • 武汉小米 Java 岗位一二面校招面经
  • ARMS 助力假面科技研发运维提效,保障极致游戏体验
  • PostgreSQL 的崛起与无服务器数据库的新时代
  • hot100-3、438、560、239、240、160、234(2简3中1难)
  • 网络原理-