解决软件产品bug是每个开发人员几乎每天都会遇到的问题
一个软件产品的bug是否好解取决于几个因素:
第一、是否可以重现,可以重现的问题都可以通过不断增加维测最终定位
第二、软件产品的复杂度,大型的分布式系统问题定位难度加大,代码可视化程度度,耦合度高的化人为增加了不必要的复杂度,难度就更加大了
第三、软件的维测手段,子系统间边界、系统状态的内存快照、系统的功能运行轨迹、死机黑匣子都是需要重点记录的信息,没有信息的问题定位就属于瞎猜
软件产品bug的定位的推荐步骤
1、首先广泛收集信息而不是猜测,经常遇到定位问题喜欢猜测的开发人员,这个是最要不得,历史统计90%的先知式猜测都是错的
所以请广泛收集日志、快照、跟踪等信息,因为你不知道问题是否你能不能重现出来
2、根据收集的信息和代码分析各个故障模型的可能性,如果通过分析能够看到明显的代码问题点,那就很好解决。
故障模型推荐画一个故障树,理清思路
3、收集的信息不全,可根据代码逻辑、问题时间的操作提供复现可能的操作步骤,进行复现