《Windows高級調試》書評

NetRoc

從事了數年的軟件開發,我覺得工作中最考腦筋的有兩個方面:軟件設計和軟件調試。通常技術人員個人能力的高低,很大程度上也是看這兩方面的能力。以往討論軟件設計的書都已經很多,但是軟件調試卻似乎一直沒有得到足夠的關注。當我個人試圖從程序員的視角轉換出來,更多的從全局的眼光來觀察軟件生命週期中的方方面面 時,很高興能夠讀到《Windows高級調試》這本好書。

《Windows高級調試》(後面簡稱AWD)是一本實用化的書。整本書都是聯繫軟件調試中的實際操作來講述的。第二部分中分類講解了各種常見的BUG問題的調試方法,每一部分都是按照如何識別問題、如何分析原因、如何調試確認這樣的流程。這是非常符合我們在實際的調試工作中的思維方式的。

AWD是一本包含作者很多調試經驗的書。令我印象非常深刻的是第二章中的一句話:"由於擴展命令!dreg的參數是非常長的,因此我們經常將這些參數從之前的調試會話中複製過來。一種常見的情況是,在每次分析調試會話之前,首先在文件中保存一組命令,然後再將根據需要將這些命令複製到調試會話中。"就像是一位調試經驗豐富的朋友在談話中偶爾傳達給大家的經驗之談。雖然看起來不起眼,但是卻常常能對工作起到很好的幫助。實際上,之前我自己在調試的時候就是像作者所說的這樣做的。

剛剛接觸軟件調試和有豐富調試經驗的開發人員都能從AWD中找到自己需要的東西。新手可以從作者講解的分析思路中學到當遇到實際問題的時候應該從什麼方面去思考。書中也還介紹了一些東西,需要相當調試經驗才能理解它的作用,例如第6章對堆內存分配機制的內容。通常來說很多問題並不需要了解堆分配的細節就能解決,但是有一些特殊情況,例如通過工具和命令不能自動分析,必須手動分析堆管理器的內部數據時。關於軟件調試的內容,有很多是可以馬上用到手上的,但是也有很多需要在讀完之後在漫長的實踐和經驗積累中才能慢慢體會到作用的。

如果想全面瞭解軟件調試技術,單看AWD這一本書是不夠的。這本書比較遺憾的是沒有系統的介紹調試器和各種調試工具的使用。很多命令和工具是穿插在調試場景中介紹的。不過這方面的內容也足以寫一本幾百頁的書了,AWD的篇幅可能沒有辦法面面俱到。關於調試器和調試工具的使用,建議讀者也專門找一些資料來學習,例如WinDbg的幫助文檔就是非常好的資源。

2009-07-10

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