183 三天三夜
刘岗一个人蹲在这里做什么他已经非常明确了。
刘岗在查找和删除所有不必要的调试信息,并从配置文件里设置关闭产生这些调试信息的功能。
有些调试信息无法用配置文件来配置关闭,是写死在代码里的。他不得已只能小心地重新编译并更新部分程序。
这活可不简单,又没有测试团队配合,一不小心就可能搞爆整个系统。
但这给了他灵感。
螳螂的各个系统都是有无数调试信息在里面的。甚至在交付之后,调试信息都有不少没有删除掉。
作为初创团队,这其实是可以理解的。
但这在负熵案件中,可能会产生一点问题。
因为女神的沉眠之棺只接受“仅供奉给我的”数据。如果原始数据没有清除干净,就会被拒绝接受。
但如果不是原始数据没有清除干净,而是整个系统运行的过程中,产生的调试信息没有清除干净呢?
如果这些调试信息存在被转换回原始数据的可能,那么就等同原始数据没有被清除干净。
如果这是负熵丢失案的正确解释,那就说明负熵其实并没有丢失,只是隐藏在了调试信息中?
这似乎和多年来系统都能成功把负熵输入到沉眠之棺并获得数据的返还相矛盾。
但程序的运行并不一定每次都一样的。随便哪次运气不好某个环境有差异就可能导致不同的结果。
比如某次运行调试信息的输出并没有打开,而下一次运行偏偏就打开了?
甚至某一次几亿光年之外射来的一束古老的宇宙射线刚好击中了内存单元里的某个比特。
导致0变成了1,成就不可思议的超自然奇迹?
为什么专案组查了这么久,却没有发现这个问题呢?
也许答案很简单,专案组派来的外部的专家,并不知道问题出在螳螂软件,而且也不知道螳螂软件内部的问题。
即便是螳螂软件的人,也未必知道自家系统到底有啥,除了真正写代码的那个人。
刘岗如果是亲手写了代码,他很可能是知道的。但他真的会认真调查和揭露自己搞出的问题吗?
他在这里清除调试信息并关闭接口,是为了什么?
难道是他在调查中发现了端倪,他又意识到自己扛不住这口关系到国运的大锅,所以干脆消灭线索?
他的操作行为本身当然不可能隐瞒。但行为可以解释为简单的优化升级系统。
而这样做了之后,将来可能任何人都不会再把负熵的丢失和多余的调试信息给联系到一起了。
为什么要这样做呢?
个人的得失荣辱和国家的百年基业相比,孰轻孰重都搞不清吗?
换了他自己,即便是他写的BUG导致地球毁灭,他也会乖乖承认并扛起这口锅的。
根据世界各国的判例,无论程序员的错误导致了多严重的损失,只要无法证实是主管恶意,都不会让程序员来赔偿。
何况这并不算是BUG。这最多算一个操作上的异常导致的误会。
这对公司的声誉确实有严重的打击。但以罗安和高层们的密切关系来看,还不至于扛不下来的。
软件安全企业其实和猞猁集团那种军工企业别无二致,都是国家的盾牌。
国家不可能让这些公司因为偶然的失败就任其被毁灭,将自己的命运交给外国人的。
最关键的是,负熵并没有丢失不是吗?
孟飞觉得他根本没有必要想这么多,他也没有兴趣去想这些只有高层才需要考虑的问题。
他现在只有一个念头。
他要在证实自己的猜测,在浩如烟海的调试信息中把丢失的负熵给找回来!
只要负熵其实并没有丢失,螳螂软件就不会有任何损失,青芒共和国也没有任何损失。
这事并不容易。尤其难在这不是靠最强BUG系统或者任何系统能解决的。因为这就不是一个BUG。
一大堆服务程序还在不断运作,你又不能将它们停下来慢慢拆解。随便动一下整个国家都可能会出事。
他在服务器内利用空闲资源开辟了一个新的虚拟机。虚拟机可以很大程度地模仿真实的运行环境。
同时他在这里边做任何事,大多数情况下不会影响外界程序的运行。
然后他再把真实服务器上的软件一个一个地复制到虚拟环境内,尽量模仿真实环境运行起来。
光是这一步从开始到完成,五个小时就悄无声息地过去了。
大约从下午六点到晚上十一点,孟飞握拳高喊了一声:“woc!跑起来了!”
朱雀如同雕塑一样,在一旁凝视。
“……我是说我的虚拟环境跑起来了,已经可以成功完成负熵数据的提取和解密的过程。
“现在的问题是,我想要的调试信息还没影呢。好多组件居然被刘岗这个家伙删除了。
“好在他没下彻底的手段,又被我恢复不少。”
孟飞嘟哝着看看了旁边的朱雀。
“没关系,你继续。”
她说。
“好嘞!”
本来有些疲惫的孟飞猛然间感觉气血满值,再次噼噼啪啪地敲起了键盘。
他要做的是,尝试解密一小段加密的负熵数据,并尝试那些代码中无数的调试开关的组合,看能否获得完整的、可以还原出解密数据的调试日志。
尝试一次失败了?
直接重启虚拟机,再试。
又失败了?
继续。
反正是虚拟机,你纵然按下一万次电源键它也不会损毁硬盘什么的。因为它的硬盘是虚拟的。
软件系统的可怕之处就在于,哪怕是简单的几个条件组合,组合起来的可能路径的数量就很容易超过宇宙中所有原子的数量。
所以真正穷尽所有可能的测试根本就是不可能的。
但真正的老手,会在千丝万缕的线索中排除所有无关的东西,找到真正有关联的因素。
剩下的,就只有暴力尝试排除了。
朱雀就这样看着他像一个疯子一样,修改代码,编译,重启系统,查看日志。
然后再次修改代码,编译,重新启动……
无限循环。
中间也有一些喝水吃饭拉屎趴着睡觉的间隔。
安盛负责送水送饭。
她负责喂水喂饭。
大概几千次重启之后,她忽然感觉自己的手掌一紧,被孟飞给握住了。
“这家伙居然开始主动动手动脚了……”
她暗想。
这时候的孟飞目光深沉,情真意切。
“跑出来了。
“果然是解密系统的调试日志出了问题。
“接下来,就看我来恢复所有负熵数据了。”
“你知道今天是几号吗?”
朱雀温柔笑道。
“哦?没注意……”
“现在是2月10日凌晨1点。
“我们已经在这里呆了三天三夜了。”
“糟!”
孟飞忽然惨叫一声。
“不会情人节已经过了吧?”