第387章 崩溃的原因
“小鸿,你的这些数据是从哪里得知的?”徐直中再次问道“这些数据是最近才出来的,你回来已经很久了吧?不可能是以前获得的这些数据。”
林鸿想了下,这才说道:“这些数据是通过网络获得的,前阵子,我又去了国美一趟,偶然间看到的这些报情,来源是国美的FBI数据库。”
对于徐直中,林鸿原本没什么可隐瞒的,但是为了避免⿇烦,省一些口⾆,故而说得真真假假。他原本就要给他们一种技术厉害的印象,所以也没蔵着掖着,但又不能太过夸张,故而又打了个幌子。
“FBI的数据库?”
徐直中讶然地看了林鸿一眼,并没有说什么,而是转而考虑起为什么自己所里的报情,会出现在FBI的数据库里面这件事情。
在场的,除了他们俩,还有夏天和潘盼两人。
夏天早已对林鸿的技术有了非常深刻的了解,对此自然没什么惊讶的,但是潘盼听了林鸿的话,心中却是震惊得要死。
FBI的数据…这也太牛了!
他看了面无表情的夏天一眼,心中暗想,看来他们去国美发生了很多故事啊,这小子,竟然瞒着我一声不吭。
徐直中看了夏天和潘盼一眼,犹豫了一下,道:
“小鸿,除了这些数据,是否还有其他…”
还没等他说完,林鸿便点了点头。
徐直中见状,意识到了事情的严重。
国美FBI竟然对他们研究所的情况了若指掌,这不得不让他感到非常震惊。
这些报情,到底是如何怈露出去的?
研究所里有国外间谍?
亦或者是谁不小心无意中怈露出去的?
能够知道这些参数的人不多,徐直中在脑海中过了一遍,没有谁有可疑的行为。
可是,真要是间谍,哪能会让人怀疑?
这样想着,徐直中有些坐不住了。
他站了起来,对林鸿他们说道:“我安排人带你们在参观一下研究所吧,回头再一起吃午饭,具体合作的事宜,等下午的时候再一起讨论。有些事情,我现在要去处理一下。”
“好的,你先去忙吧。”林鸿有些理解地说道。
“你们先坐一下,我等下就让人过来招呼你们。”
说完,徐直中就朝外面走去,走到门口,他又顿住了脚步,想了想,还是回过头来,对林鸿道:
“小鸿,你还是跟一起好了。”
林鸿微微一愣,随即点头:“哦,好。”
“另外,还请两位为刚才的事情保密。”徐直中对夏天和潘盼道。
“徐所长,请放心,我们知道该怎么做。”潘盼和夏天连忙表态。
徐直中带着林鸿,来到了之前所在的研发处,然后跟冯安国说了几句,让他带着夏天和潘盼两人餐馆一下研究所。平时,来研究所参观的,也经常有这么一些人,所以冯安国安排他们的参观项目倒也得心应手。
接着,徐直中径直找到了曹兴平这里,对方正站在他外甥余波的⾝后,指挥着余波进行一些作。
徐直中问道:“老曹,问题解决了么?什么情况?”
曹兴平这才发现他们不知道什么时候都已经到了自己的⾝后,他看了林鸿一眼,回答道:
“这次遇到的问题比较奇怪,以前那些解决类似问题的方法都没有用,我们的控制软件运行一段时间之后,就会发生闪退现象,而且没有任何征兆。”
“这么说来,这又是一个新的BUG?”
徐直中对这个项目还是很重视的,之前他不懂软件技术,但是为了自己能够了解其中的一些机制,愣是在业余时间花费心思进行自学,基本上成为了半个技术员,虽然他依然无法自己动手编写出符合要求的代码,但至少能够听懂技术人员到底在说些什么。
外行导领內行,这在技术领域是非常忌讳的,徐直中成为这个所的所长之后,就非常強调这样一点。
要想成为技术小组或者部门的导领,你必须对技术有所了解,并不需要你精通,但是至少技术人员在讨论一般问题的时候,你能够听懂,并且可以毫无障碍地参与到讨论当中。
这个基于windows的框架,他们花费了大量的时间来进行优化和改进,去掉了很多不适用的功能,例如桌面外壳程序,系统之后,就直接进⼊了他们编写的控制程序界面,这样使用者本不知道他所使用的系统是基于windows系统的。
其他所有多余的服务和进程也一律给噤止运行,甚至能删除就彻底清除掉了,彻底解决由这些功能所带来的全安隐患。
原来的系统,的确已经很稳定了,几乎不会出现类似这种情况,蓝屏的现象也没有。
他们做系统,是随时进行更新的,非常重视搜集使用者的使用情况反馈,一旦发现,就必须解决,就是怕这样的情况出现在演戏或者场战当中,那到时候这就不是BUG,而是事故了。
很明显,这次遇到的闪退现象是一个新的BUG。
由于里面基本就只有这个控制程序,连桌面都没有,闪退之后,整个系统看上去就是一篇淡淡的黑⾊,系统还是是在运行,只是他们的控制程序崩溃了。
“经过测试,只有我们现在这个版本才有这个现象,其他版本都是好的。”曹兴平说道“这次我们因为升级和改写的代码不多,我正在让他们在一步步跟踪调试,应该很快就能找到原因。”
对于这样的情况,他们的处理经验非常丰富,基本上已经形成了一整套固定的处理流程,只要按照这个流程来做,就可以迅速找到问题的源所在,为他们节省不少时间。
林鸿站在旁边,对于他们这个工作,有点无语。
一方面是佩服他们能够将这个简单的系统用得这么顺,另外则是对他们在如此重要的场合使用一个国外的闭源系统而感到不可思议。
他心中已经对这个雷达系统的具体参数怈露有了个腹案,基本上只要稍微验证一下,可能就能找到怈露的原因。
一会儿之后,余波就已经将问题的源找了出来。
原因很简单,他们在使用一个函数返回值的时候没有做判断,不知道为什么,这个函数并没有能够成功执行,其返回值为NULL,也就是为空,这并不是有效的数值,最终导致了整个控制程序的崩溃。
一个小小的返回值而疏忽了检查,于是导致了整个程序的崩溃…
林鸿強忍着没有让自己的脸部肌⾁发生变化。
这样的情况,如果出现在通用的作系统中,还是可以接受的。但是,现在竟然出现在一个军事领域的雷达控制系统中,是在是让他有点无语。
现在的问题是,为什么这个函数没有返回值?
曹兴平和余波都感到很奇怪,翻来覆去地研究了半天都没有找到答案。
“不可能啊,之前应该都是好好的,为什么现在会这样?这个函数为什么没有返回值?”余波嘴里念叨道。
其实要修复这个BUG进行很简单,就是在代码里面对这个返回值进行判断即可,没有返回值,则不做处理,直接忽略掉就行了,这个软件便不会再崩溃了,并且也不影响大局。
但是,他们必须搞清楚,这个函数为什么没有返回值?
理论上来讲,这个情况是非正常的,不在他们的计划之內。
为了搞清楚原因,余波把系统进行了重启,进去之后,发现系统变得正常了。
测试了几次,执行了一些功能,也没有那个现象。
接下来,他进行了关键的一步作,也就是将控制程序进⼊静默状态,类似于电脑中的待机省电状态,然后再启动,结果又出现了这种情况,和刚才如出一辙。
控制程序还是闪退!
进⼊调试将返回值DUMP出来,发现又是那个函数又没有返回值而导致的。
也就是说,第一次的时候,那个函数是正常执行了的,而进⼊静默状态之后,这个函数也就关闭了,但是在此启动,却没有成功,返回了NULL值。
于是,余波开始了一次又一次的调试。
重启、修改、测试。
…
各种方法都用遍了,仍然找不到问题到底出在哪里。
他都快要疯掉了!
徐直中在旁边看了一会儿,也有些心烦,正想将曹兴平喊去他办公室,一起商量一下有关怈密的事情,这个时候,林鸿终于忍不住开声了:
“这应该是有东西接管了SDK里面的那个调用函数,导致你们的函数无法执行,所以才导致返回NULL值。”
“接管了调用函数?”
那个技术员顿时头摇。
“不应该,那个函数是系统的底层函数,在用户层本没有进行修改的权限。”
曹兴平闻言,则稍微思索了一下,觉得他的话非常有道理,这样才能解释得通。
他有些讶然地看了林鸿一眼,问道:“你对这个系统也有研究?”
“我们就是做这一行的,自然对常见的系统都要深⼊研究。”
说完,林鸿又对那个技术员道:
“权限要自己动手去拿,不会自动送上门。”