解决复杂bug思路

解决问题总结

1 排除了解所有页面函数逻辑,业务逻辑的想法

2 缩小范围:定位一个主要问题的地方

3 比较这个地方,与其他地方的差异

kotlin 复制代码
1 当看到一个bug.会本能恐惧,会想到熟悉所有的业务,会去:

时间: 代码熟悉: 4个小时 
1 每个函数/相关函数的代码含义
1.2 由于层级,引用关系 会有大量的需要熟悉的函数

时间: 逻辑梳理: 1个小时 
从大量的数据中,缩小到很小范围

时间:10分钟
解决问题 

方案 二 
时间: 15分钟
查看报错地方,判断最可能原因
时间: 15分钟
比较这个地方的代码,与其他代码的差别。并根据差别修改。

修改前:

关闭switch:
2026-07-06 13:12:10.123 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= null
2026-07-06 13:12:10.123 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:12:10.123 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = null

打开switch:

2026-07-06 13:12:52.120 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= null
2026-07-06 13:12:52.120 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:12:52.120 24386-24386 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = null
修改后:

关闭switch: 
2026-07-06 13:10:54.072 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= 23
2026-07-06 13:10:54.072 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = null
2026-07-06 13:10:54.073 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = SoundEffectItem(cPic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, index=3, name=超重低音, pic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, sdkId=501, sdkType=1, spic=, vipFlag=0, url=, md5=)
打开switch:
2026-07-06 13:11:07.662 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: lastSoundEffectConfigList.size= 23
2026-07-06 13:11:07.662 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState:_effectState.value.currentSoundEffectId = 501
2026-07-06 13:11:07.663 23406-23406 music                com.xx.qq.cc         I  SoundQualityViewModel: updateEffectState: _effectItemLast.value22 = SoundEffectItem(cPic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, index=3, name=超重低音, pic=https://y.qq.com/music/common/upload/t_qqmusiccar_sound_effect_config/6843486.png, sdkId=501, sdkType=1, spic=, vipFlag=0, url=, md5=)

修复复杂bug

应该不是抱着了解所有业务逻辑角度

定位主要问题的地方->比较这个地方的差异->尝试修改代码,解决问题->打印log,自测,完成

相关推荐
深念Y2 天前
Opencode Event 表写入优化方案
数据库·人工智能·ai·node.js·bug·优化·opencode
姚青&3 天前
Bug基本概念
bug
AI多Agent协作实战派3 天前
AI多Agent协作系统实战(三十九):AI修对了Bug,却越了权——自动化团队的第一条铁律
人工智能·自动化·bug
深念Y5 天前
AMD 芯片组驱动触发高频 SSD 写入的问题及解决方案
windows·bug·ssd·日志·芯片·驱动·amd
加油码5 天前
探秘 volatile关键字:编译器的过度优化
linux·bug·信号处理
鹿屿二向箔5 天前
keil5.39版本使用AC6编译器不能位域操作的BUG使用STM32U385系列MCU
stm32·单片机·bug
angryshan6 天前
goLang配置断点流程
go·bug
吨吨ai7 天前
# ChatGPT Plus / Pro + Codex Debug 实战:如何让 AI 从日志、Trace、异常堆栈自动定位线上 Bug
人工智能·chatgpt·bug
灰暗世界%8 天前
飞牛bug修复
bug
凌云拓界10 天前
NodeVerdict | 性能门禁:把追踪数据变成 CI 规则
ci/cd·信息可视化·开源·node.js·bug·数据可视化·安全架构