今天接到进公司以来的第一个任务,Fix Bug——一个德国客户报过来的Bug(关于Subnet Mask)。
在上午Sunky做Firewall Report的时候,老大给我发的邮件,由于Report结束后,也快下班了,只好下午来解决了。
解Bug第一步:板子是关键(为了复制Bug)。最近很多人都在找xx2的板子,我们组出现过三个人共用一块板子,真不知道该怎么调度。我本身就有一块板子,可老大也不确定能不能跑客户所用的那版FW。下午过来后,随手查了一下前人解过的Bug,发现居然有一个Bug的Symptom和客户报过来的类似,兴奋中,可能可以Merge过来哦。抱着试试看的心理,将客用用的那版FW load到我的板子上,Crash!不敢确定是哪里出问题。再Load,再Crash!反复多次后,只好寻求帮助。
老大帮我试了一下,确定是板子和FW不相匹配,给我换了个新板子,“大周会”时间到了。两个小时的“大周会”,把我们拉到了下班边缘。抓紧时间,Load FW。这次终于Success了。Bug也很快就复制出来了(好在不是随机出现的Bug,要不然复制也是一大难题),可是也下班了。
晚饭后稍做休息,直奔办公室,忘记如果看前人是如何对文件做修改,来解掉Bug。又一次求救。
老大看了我复制的Bug,试了试从Command模式设置。觉得那不是Bug,觉得Web 上的那个选项不是用户想要的功能。可是我在其他板子上发现那个选项就是提供那个德国用户所报的那个功能啊?怪就怪Web GUI的设计,给人歧义,说是那个功能行;说不是那个功能也可以(谁叫他/她/它把Subnet Mask选项放在那个很有争议的地方呢)。为了保险起见,一方面:老大要我先发封Mail给CSO,向他说明情况,确认一下要不要改;另一方面:看看能不能Merge 今天下午所找到的、Symptom类似的、前人解过的Bug。通过Comper两个文件,发现只加了一个语句。修改Source Code、Build、UpLoad、Test……用户所描述的症状消失了。这个"Bug",也许就这么解了。
-------------------------
PS:如果时间充足的话,那就多做些准备吧 [ 时间闲着也是浪费 ],多考虑几种可能发生的情况,并为这几种情况想好处理方案。这样就可以减少突发事件产生时,手忙脚乱。