修改程序BUG也可以用些修機器的思維

  來源:http://blog.csdn.net/lezhiyong

   早些年剛畢業時候,幹過一小段時間的電子設備維護,後幹上了軟件開發,回顧起來,兩者也有很多相似的地方。正所謂方法是相通的,只是用的地方不一樣而已;不管做什麼事情,學會使用方法是最重要的。

     那時候修機器首先第一步就是熟悉設備,需要看設備使用說明書並瞭解設備運行原理,最高境界是需要要讓設備的傳動、電路、油路、氣路都可用在自己的大腦中run起來。同樣,程序bug修改的基本要求,跟起何其相似,需要熟悉程序的源代碼與開發設計文檔,如果能做到讓程序每個模塊每個信令流和數據流以及線程進程在自己大腦中運行起來,那麼對該軟件也很熟悉了,解什麼bug也都輕而易舉。

   修機器的第二步,當然就是熟練運用萬用表、示波器等工具提取故障設備狀況的很多信息,同時結合設備電流電壓表等指示器獲取設備輸出詳細信息,有了這些信息,可以瞭解到設備的運行狀態和問題所在。修改軟件的bug同樣如此,當軟件bug出來後,舉個例子我們可以用各種工具獲取軟件的bump信息,dll調用信息等了解軟件運行狀況,如果軟件有日誌輸出,它就是設備的電流電壓表或者設備信息記錄儀保存着軟件運行的寶貴信息,對bug定位幫助很大。

  修機器的第三步,就是定位問題發生的地方了,對於維護人員,定位到小電器或大電器的電路板基本就解決問題了。一個簡單的定位方法就是用好的模塊將可疑模塊換上,如果設備恢復正常,那麼我們就可以在這個模塊再用上述方法迭代去更準確的定位問題模塊。對於軟件bug,特別是成熟產品的bug出來後,最好先從軟件運行的環境配置、網絡狀況、文件版本等宏觀大範圍去判斷,不要一開始就鑽到代碼中試圖調試代碼去解決問題。一時定位不準的bug,換個運行環境看看軟件是否恢復正常?將模塊逐個退回上個版本,看看是否能恢復正常?這同樣是一個從粗到細的定位問題過程,直至找到問題發生模塊。

 

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章