叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数/过程时,他的声明将以字符串格式先传给他。
这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。
通过这种方式,叶新晨就接管了tcl的一切;然后修改了它的异常/返回流程,识别出“用户未捕捉的异常”。
毕竟叶新晨是记录了每个函数在某次被调用时、在调用链上所处的层级。尤其接近顶层尚未捕获就会影响到当前测试用例、当前测试套甚至引起整个程序过早退出,这些都是要记录的。
现在,当程序出错时,如果通过异常处理程序解决了问题、允许程序继续执行了,那么叶新晨就不做任何动作。
但如果没有处理异常、使得测试失败甚至程序退出,那么叶新晨就能在执行下一条语句之前把整个调用链打印出来——从函数调用关系到每个函数的局部变量内容、再到异常传递路径,巨细靡遗。
这个设计相当于函数返回时会多执行几条语句,把局部变量等信息保存在内存中;只要程序不崩溃,那么这些信息就自动丢弃;而一旦程序要崩溃,它就会写到磁盘文件中——叶新晨自己搞了个日志滚动机制,专门记录最近十次崩溃信息,并不会无限侵占磁盘空间。
通过这个东西,再付出微不可察的时间代价,叶新晨给所有tcl程序增加了core dump功能。
这显然是个重大利好。
这就是为什么他们为什么愿意花费十万请叶新晨也帮忙做这个功能。
不过毕竟刚刚完成了另一个悬赏,所以晚上的时候叶新晨也不会立刻扎进去,他要好好的休息一个晚上,也就是今天晚上他不想熬夜了。
看着躺在床上看着综艺节目的王晓雪不时的发出清脆的笑声,叶新晨突然觉得世界还是很美好,比代码那个世界好的多。
“老公,我们是不是存款又多了?”一旁的王晓雪注意到了叶新晨的目光,也是将手机中的综艺节目按了一个暂停键。
前七天,王晓雪一直看在眼里,毕竟叶新晨每天都是凌晨三四点才睡觉,而且下班一回来除了吃饭洗澡的功夫,基本上都是埋在了代码里面。
连和她聊天的时间都寥寥无几,不过王晓雪虽然没有学过程序,但是也知道一直在忙碌着程序代码的叶新晨是不能够打扰到,因为聊着天代码容易写错,最重要的是万一一个失误,脑海中的思路没有了,那才是真正的坑爹了!
也因此,王晓雪这七天也就是烧烧饭,洗洗碗,然后刷刷剧要么看会儿综艺节目。
『加入书签,方便阅读』
-->> 本章未完,点击下一页继续阅读(第2页/共3页)