一般来说遇到偶现的bug,都是尝试去按照出问题的方向复现,然后去review对应代码的逻辑,但是代码逻辑review了很多次,加了很多log,也没有找到。一点头绪都没有的情况下,大家是怎么应对这种情况的。ex:执行50次,随机出一次这种bug.
Debug,检查变量变化是否正确……
找到能重现的步骤.. 然后再定位代码. 如果本地不出 运行环境出. 还得考虑数据的因素.
2楼 @cnsoft 您说的对,一般有bug第一反应就是尝试复现,如果是一个必现的bug,那难度就降低很多了。
1.首先你需要在代码里做尽可能多的保护和异常处理:大部分的异常是可以抓到的,能抓到基本上问题就可以解决了。即使你没有管,设备上也会有crash log的,解析出来崩溃的位置后,debug工作会简单很多。实在不行你说的log方式也很好用。
2.让tester确定复现步骤,概率极低其实可以不去修复。1/50嘛,我觉得还是有点高,如果重新操作一遍不会遇到同样的问题(就是说和windows一样重启可以解决的问题),那可以不修复的,非阻塞型的bug嘛。如果是会阻塞后续操作,重来一遍还是要修复的。