很明显,这次遇到的闪退现象是一个新的bug。
由于里面基本就只有这个控制程序,连桌面都没有,闪退之后,整个系统看上去就是一篇淡淡的黑色,系统还是是在运行,只是他们的控制程序崩溃了。
“经过测试,只有我们现在这个版本才有这个现象,其他版本都是好的。”曹兴平说道,“这次我们因为升级和改写的代码不多,我正在让他们在一步步跟踪调试,应该很快就能找到原因。”
对于这样的情况,他们的处理经验非常丰富,基本上已经形成了一整套固定的处理流程,只要按照这个流程来做,就可以迅速找到问题的根源所在,为他们节省不少时间。
林鸿站在旁边,对于他们这个工作,有点无语。
一方面是佩服他们能够将这个简单的系统用得这么顺,另外则是对他们在如此重要的场合使用一个国外的闭源系统而感到不可思议。
他心中已经对这个雷达系统的具体参数泄露有了个腹案,基本上只要稍微验证一下,可能就能找到泄露的原因。
一会儿之后,余波就已经将问题的根源找了出来。
原因很简单,他们在使用一个函数返回值的时候没有做判断,不知道为什么,这个函数并没有能够成功执行,其返回值为null,也就是为空,这并不是有效的数值,最终导致了整个控制程序的崩溃。
一个小小的返回值而疏忽了检查,于是导致了整个程序的崩溃……
林鸿强忍着没有让自己的脸部肌肉发生变化。
这样的情况,如果出现在通用的操作系统中,还是可以接受的。但是,现在竟然出现在一个军事领域的雷达控制系统中,是在是让他有点无语。
现在的问题是,为什么这个函数没有返回值?
曹兴平和余波都感到很奇怪,翻来覆去地研究了半天都没有找到答案。
“不可能啊,之前应该都是好好的,为什么现在会这样?这个函数为什么没有返回值?”余波嘴里念叨道。
其实要修复这个bug进行很简单,就是在代码里面对这个返回值进行判断即可,没有返回值,则不做处理,直接忽略掉就行了,这个软件便不会再崩溃了,并且也不影响大局。
但是,他们必须搞清楚,这个函数为什么没有返回值?
理论上来讲,这个情况是非正常的,不在他们的计划之内。
为了搞清楚原因,余波把系统进行了重启,进去之后,发现系统变得正常了。
测试了几次,执行了一些功能,也没有那个现象。
接下来,他进行了关键的一步操作,也就是将控制程序进入静默状态,类似于电脑中的待机省电状态,然后再启动,结果又出现了这种情况,和刚才如出一辙。