开发中查bug,解决bug的能力是每个程序都必备的,学会利用技巧快速解决问题,总结项目开发中碰到的几个案例。
1.战斗表现异常
表现:1锁屏断线重连回来时卡在副本出不去 2.进入战报失败时卡在地图中 3.副本挑战中断线一直在打boss但是不会掉血
调试目标:网络,战斗模块。怀疑是断线重连回来,退出战斗的逻辑异常
重现步骤:pc端断网,然后重连,大概率弹出重连游戏提示框,手机易复现但无法代码调试
结论:只能通过分析代码,查看网络重连那块代码作了哪些处理,发现只作了挂机战斗重连的处理,现在只需要加上战报,多人战斗重连后的处理,以及进入战报或多人战斗失败时根据后端返回的错误码,作一个退出战斗的处理。
2.战斗中反复释放同一个技能
表现:浏览器进入后台,切换回来时只会释放同一个技能,看进入后台时间的长短
调试目标:技能CD的冷却。怀疑是切后台导致的cd技能有误,因为进入后台时会暂停心跳。
重现步骤:打首领,浏览器挂后台一段时间,再切回前台就只会放同一个技能。
冷却时间的处理:
技能cd的重置,以及技能释放优先级的逻辑: