积攒一下平时解决bug时的思路,以后若是一头乱麻时翻出来看看~
一个bug五一之前就和现场在定位,直到今天才算是定位到问题。
所有bug,还是得重现出来才可以发现问题。现场说登记记录时数据没在前台展示出来。关于插入记录没在前台显示的问题,一般就2个地方有问题,插入时报错,查看时有过滤条件。
插入时有报错就很严重,但比较好解决。然而这次的问题并不是这样。它是查询条件有一个字段,不可以为空才行。
询问现场后,得知数据是入库了。要来了日志,也没什么报错。看来还是插入时的问题。
于是在代码里看插入的数据是怎么来的,原来是在一个选择的弹窗里,有特定的数据2个字段的值是空的,而那个值,就是记录时需要不为空的值。
穿过无数个if……else,无数个调用后,发现原来是2个字段不展示的原因,是因为子查询的问题。子查询里给表名起个别名,在字段那加个别名就解决了!
这次问题就这么找到问题所在了,让现场报问题,等排了计划才能上线。可能这页面也没多少用户在用吧,看了下SVN记录,这边代码1年多前就是这样了,现在才被发现。比起每天被提bug,更令人伤心的是页面开发出来没什么人用吧!虽然这页面也不是我开发的……
总结,插入数据时,前台不展示数据这一类问题,先看插入的地方有没有问题,再看查询时有没有过滤条件。过滤条件一行行去掉,看是哪一行有问题,再回去看看每个字段的值是怎么来的,多数就能解决bug啦!