圍繞如何實現高效調試這一主題,本書深入系統(tǒng)地介紹了以調試器為核心的各種軟件調試技術。本書共30章,分為6篇。第1篇介紹了軟件調試的概況和簡要歷史。第2篇以英特爾架構(IA)的CPU為例,介紹了計算機系統(tǒng)的硬件核心所提供的調試支持,包括異常、斷點指令、單步執(zhí)行標志、分支監(jiān)視、JTAG和MCE等。第3篇以Windows操作系統(tǒng)為例,介紹了計算機系統(tǒng)的軟件核心中的調試設施,包括內核調試引擎、用戶態(tài)調試子系統(tǒng)、異常處理、驗證器、錯誤報告、事件追蹤、故障轉儲、硬件錯誤處理等。第4篇以Visual C/C++編譯器為例,介紹了生產軟件的主要工具的調試支持,重點討論了編譯期檢查、運行期檢查及調試符號。第5篇討論了軟件的可調試性,探討了如何在軟件架構設計和軟件開發(fā)過程中加入調試支持,使軟件更容易被調試。在前5篇內容的基礎上,第6篇首先介紹了調試器的發(fā)展歷史、典型功能和實現方法,然后全面介紹了WinDBG調試器,包括它的模塊結構、工作模型、使用方法和主要調試功能的實現細節(jié)。本書是對軟件調試技術在過去50年中所取得成就的全面展示,也是對作者本人在軟件設計和系統(tǒng)開發(fā)第一線奮戰(zhàn)10多年的經驗總結。本書理論與實踐緊密結合,選取了大量具有代表性和普遍意義的技術細節(jié)進行討論,是學習軟件調試技術的寶貴資料,適合每一位希望深刻理解軟件和自由駕馭軟件的人閱讀,特別是從事軟件開發(fā)、測試、支持的技術人員和有關的研究人員。