• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>

    工程師故事:一段真實(shí)的程式碼除錯經(jīng)歷

    2011-03-18 00:00:00   作者:   來(lái)源:   評論:0  點(diǎn)擊:



      1980年代初期,我在PABX系統公司擔任硬件工程師,當時(shí),軟件在PABX系統設計中已經(jīng)占據主導地位了,因此,來(lái)自浮動(dòng)閘輸入的程式碼漂移線(xiàn)(errant line)也可能輕易地導致錯誤。在不斷聽(tīng)到硬件和軟件設計師激烈的交相指責后,我發(fā)誓,在我的除錯過(guò)程中絕不要再重蹈這些覆轍。正是抱持著(zhù)這種想法,才有了以下這段真實(shí)故事。
      故事開(kāi)始于一通來(lái)自我們公司英國辦事處的電話(huà),主要內容是抱怨一些最新發(fā)布的硬件,或是由PABX的產(chǎn)品所引發(fā),在隨機通話(huà)中出現的單向通話(huà)(one-way audio)情況。此外,盡管并非經(jīng)常出現,但在分機之間的通話(huà)可能會(huì )在PABX系統運作中接收到來(lái)自其他通話(huà)的音訊,這個(gè)問(wèn)題很令人擔心,因為它可能潛藏著(zhù)法律責任。
      一通來(lái)自倫敦的電話(huà)
      CEO很關(guān)注這個(gè)問(wèn)題,而我們則拼命地試圖在總部實(shí)驗室復制問(wèn)題,但并沒(méi)有成功。很快,最后的決定是我和軟件設計師必須立即飛到英國以設法解決問(wèn)題。CEO隨后設法讓我的護照在僅僅幾天內更新,因此,軟件設計師和我在那個(gè)周末都準備好飛到英國了。
      在前一個(gè)周五下午,我們的CEO把我們叫到他的辦公室,我們發(fā)現,我們位在美國東南部的技術(shù)支援專(zhuān)家已經(jīng)成功地復制了同樣的問(wèn)題。我們的總裁當晚因為這個(gè)問(wèn)題趕回公司,CEO也安排在當晚將我們送到美國技術(shù)支持辦公室。我急忙打包行李,踏上了我首次的里爾噴射機(Lear jet)飛行之旅。
      飛機上的迷你酒吧有助平息緊張的神經(jīng)。幾小時(shí)后,我們終于坐上計程車(chē)前往辦公室,當時(shí)我們已經(jīng)足夠清醒,能與司機就美國政 治到參戰等極端觀(guān)點(diǎn)任意辯論。過(guò)了午夜后,我們終于扺達,并短暫的睡眠后直奔辦公室而去。
      立即檢查程式碼
      這個(gè)辦公室擁有的PABX設備具備能夠產(chǎn)生流量的特殊軟件,可驅動(dòng)第二部測試中的PABX設備。盡管我們已經(jīng)在我們的實(shí)驗室中使用相同的測試軟件進(jìn)行相同的設置,但這套系統不知為何,每隔幾小時(shí)便會(huì )產(chǎn)生一次故障。我們花了24小時(shí)仔細研究這套系統,一次次地檢查訊號,擷取執行中的CPU程式碼并重新讀取組合語(yǔ)言程式碼。
      一切似乎沒(méi)有什么不妥,但錯誤仍然接連發(fā)生。幸運的是,我們發(fā)現一個(gè)罕見(jiàn)但不斷重復的特定音訊故障,這將我們的關(guān)注范圍縮小到了系統中的特定音訊交叉點(diǎn)。這種特殊的音訊故障是指引我們的最佳明燈,我立即設置了分析儀的CPU追蹤器以擷取這個(gè)可疑音訊交叉點(diǎn)設備的暫存器寫(xiě)入周期。到當天深夜,疲勞和煩躁一度讓我過(guò)早做出結論:我們在追逐的是一個(gè)軟件故障。不過(guò)我并未說(shuō)出口,而是重新考慮這個(gè)導致錯誤狀態(tài)的交叉點(diǎn)是否是由硬件故障所導致。
    共 2 頁(yè):1 2 

    電子工程專(zhuān)輯

    相關(guān)閱讀:

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 沙湾县| 观塘区| 榆中县| 平塘县| 五峰| 满洲里市| 余干县| 百色市| 博罗县| 武定县| 遂溪县| 三门峡市| 长沙县| 冀州市| 临高县| 宜都市| 临武县| 翁牛特旗| 重庆市| 郸城县| 宣威市| 苏尼特右旗| 辛集市| 鲁甸县| 汪清县| 旺苍县| 丹凤县| 武功县| 肥乡县| 新绛县| 新平| 上思县| 扎囊县| 长武县| 华宁县| 泽库县| 吐鲁番市| 永靖县| 甘孜县| 稻城县| 沧州市| http://444 http://444 http://444 http://444 http://444 http://444