debug心得(一)
前言
最近解了几个莫名其妙的bug,分享下debug中的心得体会。并总结一下debug中的一些小技巧。
为什么叫莫名其妙的bug呢?因为从log信息中不能提取到有用的信息或者是在相关模块的代码review中未发现有用的信息,并且多半是偶现的问题。
下面通过具体案例来总结debug的步骤和心得。
大致可以将bug分为三类:
1. 与前端相关的页面问题
2. 与前端无关的
3. 与驱动wifi稳定性性能等相关的A类bug。
case 1:(与前端相关)
=====================太长不看版============================
1. 打开浏览器console查看报错信息并定位大致的bug位置(获取review的时候需要的关键词)
2. 进一步拆解bug出现的步骤缩小到更具体的范围
3. 对比bug出现前后相关文件的变化并分析差异(一丝丝差异都不要放过)
4. review代码标记可能诱发bug的地方并加入打印信息
5. 尽可能复现bug并通过打印信息来定位bug位置
6. 猜测bug原因,修改代码,再次验证
7. 重复2-6步骤直到定位到bug 或者放弃治疗
=====================太长不看版============================
【bug描述】:在恢复出厂设置的自动化测试中偶现web管理页面白屏的问题,测试部提供的概率是:无法复现
首先,无法复现的bug为什么还要解呢?
因为这确实是一个bug,有潜在的问题,开发需要对软件质量负责。(而且,让测试部重新验证的时候被打回来了)
【bug定位的步骤】
1. 分析bug可能出现的大致原因
根据代码编写时候的记忆和以往的debug经验,页面白屏可能的原因有:
1. lua中有语法错误
2. 页面中