一个折腾了我差不多三天的BUG引发的反省

来源:互联网 发布:手机单机飞机游戏 知乎 编辑:程序博客网 时间:2024/05/17 03:50

(项目是跟别的公司合作的,目标系统是wince)

这周刚开始,就在BUG管理器中收到两个BUG,其中一个在我不懈努力的输出日志中发现不是自己这边问题,是合作公司的,就放过了。接下来这个让我悲催日子开始了。

该问题是关于雷达的,我们这边是用别人的雷达,自己这边单片机做些处理之后发给软件,我是软件这块的。

问题描述:

软件启动后,设备连接好之后时不时的播报语音。(正确的应该是连接了只播报一次,除非拔掉了再连接)

问题解决步骤:

由于关于这块代码是之前一个同事写的(现在走了),一大堆没有注释的数据以及从头到尾看不到注释的代码,使得我一开始就定位错误,大概知道了下代码实现,然后看了下协议,然后就输出日志文件看数据(俺的破电脑不能联机调试,windows同步软件装了也无效,所以只能运行一次之后看日志文件)。看了第一次输出之后,发现数据跟协议里对不上,又输出几次,都不怎么对,再想想,之前代码使用也是发过版本的了,所以一厢情愿的认为是数据发错了,为了这个找别的公司工程师,最后那边说了很久说设备是好的之后直接来了句找单片机。

可能是潜意识认定了,加上之前有数据做证明,心里对这个问题不怎么重视,觉得是别人的问题,自己就随便找了下人。可是别人也会认为是软件问题,所以拖了一天,后面由于项目紧急,有点压力,就开始正式看待这个问题,把老版的,新版的,以及基础版的相关代码都看了之后,越来越迷糊,感觉是软件问题又说服自己说好像不是,然后到处借零件,机器,打算正式查看下从设备过来的数据跟软件接收的数据是否一样(这里用另外一台机器)。终于看到数据是一样的,而且都是正确的。突然醒悟,机器问题?这样东弄下西弄下又过一天。害的我一度认为这个BUG我是无法解决的了,然后吃不好,睡不好。

放进程序,用好的机器试,发现还是存在这个问题,经过前面两天,我深刻意识到,我走错了,应该静下心来,仔细查找原因,不能因为代码之前出过版本就认为是对的,也不能因为没有注释就不好好看代码。然后我仔细列举了软件出错的原因,我要查证的方向之后,抱着一台好的机器开始了我的日志输出,一个上午,我一直在修改,替换程序,运行,看输出文件,中间有烦的时候,就去接水走走,然后回来继续。然后,上午过了,代码全明白了,数据也清楚了,问题也知道了。

最后,问题修改,又是一顿猛测。这让我感慨万千,如果,一开始我有这样的心态,可以用半天时间而不是好几天。

总结:没有改不好的BUG,只有想不想改。心态问题吖