一次有趣(想打断同事腿)的键盘BUG调试经历
昨天上班,开机后发现键盘不能使用(设备管理器中显示【设备描述符请求失败】),放到其他电脑上试了下,键盘没问题。接下来就经历了漫长(且崩溃)的调试过程。
重新拿了一个键盘,插上也是一样的问题。要是同时插两个键盘以下排列组合情况都会出现:(好,坏)(好,好)(坏,坏)。所以应该不是键盘的问题,还是电脑的问题。
那难道真是驱动的问题,一般键盘不用自己装驱动的。因为鼠标是没问题的,所以后续在电脑上的操作有需要用到键盘的地方我都是用软键盘解决的。
我回忆前一天干了什么可能影响驱动的操作。想起来装了CCSV12还安装了一些驱动,会不会是这个影响的,想直接卸载但是感觉和这个问题关系不大,就先忽略了。
后面进行了一些无用的操作,包括但不限于:
- 驱动:通过驱动精灵、驱动人生、360驱动,以及手动下载了好几个键盘驱动安装
- 改注册表
- 更新Windows
- 杀毒(火绒,下载360为了避免全家桶用了国际版)
都不行。
然后到了午饭时间。吃完回来我就卸载了CCS以及一些驱动,重启后果然好了,下午安装CCS3.3为了DSP仿真又进行了几次重启操作,键盘也都是好用的。
这个问题解决了,“看来以后碰到类似的问题还是得先还原之前的操作呀”我这样若有所思的总结道。
结束
.
.
.
.
.
.
.
.
.
了吗?
不,还没有。
今天上班来,开电脑。发现键盘又坏了,和昨天的情形一模一样。我暴躁的分析,现在这种情况,说明这事有了和时间相关的周期性,可能和软件或病毒有关,软件/病毒可能有定时任务在每天开机后执行的可能。
准备立刻用两个途径解决,一就是卸载昨天的CSS3.3及若干驱动,二全盘杀毒,在杀毒时可以看下定时任务。
卸载了之后,发现没解决。这时同事要开车出去测试,说:“你在办公室呢,我这(电动车)电池就先不拔了”,我说好。接着我准备杀毒,熟练地打开软键盘准备找个强力的杀毒软件。“电池”“电池”这个字眼突然进入脑海,同时香草冰淇淋BUG的故事也进入了脑海,想起同事说之前键盘打字偶尔卡顿可能是由于电压原因,那我这个情况呢。找到同事的电池,确实和我的插线板同属一路线,拔了后重启电脑,键盘终于好啦。
原来是电池这种大功率电器,影响到了电脑电源,主板供电影响到USB供电。(虽然具体还是不懂为何,可能是主板设计不合理吧)
香草冰淇淋BUG的故事:by 城下秋草-简书
2000年通用公司庞帝雅克部门收到一封客户投诉:
“这是我为了同一件事第二次写信给你们,我不怪你们没有回信给我,因为我也知道大家都会认为我疯了,但这的确是一个事实。我们家有一个传统的习惯:就是在吃完晚餐后,都会以冰淇淋来当饭后甜点。由于冰淇淋的口味很多,所以每天在饭后才投票决定要吃哪种口味,等大家决定后,我就会开车去买。但最近我买了一部新的庞帝雅克后,问题就发生了。
你们知道吗?每当我买的冰淇淋是香草口味时,车子就发不动。但如果买的是其它口味,车子发动就顺得很。尽管这个问题听起来很猪头,但我是非常认真的。
为什么当我买了香草冰淇淋,这部庞帝雅克就会秀逗(不能发动),而我不管什么时候买其它口味的冰淇淋,它就是一尾活龙?为什么?为什么?”
尽管庞帝雅克的部门经理很难相信这个事情, 但还是派了一位工程师去查看究竟。
当工程师去找这位仁兄时,发现这封信竟是出自于一位事业成功、乐观、且受了高等教育的人,不像是恶意捣乱。
工程师和客户的见面时间刚好是在用完晚餐后,两人于是立刻驾上汽车往冰淇淋店开去。那个晚上投票结果是香草口味,当买好冰淇淋回到车上后 ,车子果然又趴窝了。
这位工程师之后又来了三个晚上:
第一晚,巧克力冰淇淋,车子正常。
第二晚,草莓冰淇淋,车子也没事。
第三晚,香草冰淇淋,车子又罢工了!
这位思维缜密的工程师,当然不会相信车子真的对香草冰激凌过敏。因此他继续不断用类似的行程进行测试,希望能解决这个问题。
工程师开始记下从开始到现在所发生的种种详细数据,如时间 、车子使用油的种类、车子开出及开回的时间等等,根据数据显示他有了一个结论:这位仁兄买香草冰淇淋所花的时间比其它口味的要少!
为什么呢?
原因是出在这家冰淇淋店的内部设置的问题。
因为,香草冰淇淋是最畅销的口味,店家为了让顾客每次都能很快的拿取,所以将香草口味特别分开陈列在 单独的冰柜,并将冰柜放置在店的前端;至于其它口味则放置在距离收银台较远的后端。
现在,工程师所要知道的疑问是:为什么这部车会因为从熄火到重新启动的时间较短就会秀逗?原因绝对不是香草冰淇淋的关系,工程师很快地浮现出答案,应该是汽锁(vapour lock)。
因为当这位仁兄买其它口味时,由于时间较久,引擎有足够的时间散热 ,重新发动就没有太大的问题。但是买香草口味时,由于花的时间较短,引擎太热以至于还无法让汽锁有足够的散热时间。
问题原因终于找到了。
所以有时候无论事情的现象是多么的疯狂和不可思议,只要它是事实存在的,作为工程师,不要轻易否定它,通过更深层观察、挖掘来找到原因,发现根因并解决问题。