“恢复下一个任务上下文完成,打印日志:‘内核:任务B现场恢复完毕,准备跳转’。”
“通过这些详细的,带有时间戳的日志,我们就能像看慢动作回放一样,一步一步地,追踪到那个幽灵‘A’出现的前后,内核到底在干什么!”
这个方案,立刻得到了所有人的赞同。
这才是科学的,解决问题的态度。
说干就干。
黄建功再次坐到主控台前,这一次,他不是重写内核,而是在原有的V0.1.1版本的代码中,小心翼翼地插入用于打印日志的指令。
这同样是一个精细活,不能影响原有的任何逻辑。
一个小时后,带有详细日志功能的“天枢”内核V0.1.2版本,诞生了。
“编译!”
“链接!”
“烧录!”
当新内核被注入“盘古之心”后,所有人都再次围拢过来,气氛比之前任何一次测试都要紧张。
这一次,他们能否抓住那个妖怪的尾巴?
“开始测试!”
黄建功敲下回车。
屏幕上,不再是单调的“ABAB”,而是被密密麻麻的内核日志,和任务打印的字符,交织在一起的,信息洪流。
`内核:收到任务A切换请求`
`内核:任务A现场保存完毕`
`内核:决定切换到任务B`
`内核:任务B现场恢复完毕,准备跳转`
`B`
`内核:收到任务B切换请求`
`内核:任务B现场保存完毕`
`内核:决定切换到任务A`
`内核:任务A现场恢复完毕,准备跳转`
`A`
日志清晰地打印出了内核的每一步动作。
从日志上看,内核的工作流程,完美无瑕,和设计规范里写得一模一样。
A和B,也在这完美的流程中,交替出现。
时间一分一秒地过去。
所有人都死死地盯着屏幕,大脑在飞速处理着海量的信息,试图从这片数据海洋中,找到异常的信号。
一分钟……
两分钟……
“出现了!”孙立国再次发出一声惊呼!
众人立刻看去!
只见屏幕上,刚刚打印完一条`内核:任务A现场恢复完毕,准备跳转`的日志后,