chapter 01 高階策略
作法 01 透過問題記錄系統處理所有問題
作法 02 以精確的關鍵字上網查詢問題的線索
作法 03 確認滿足前後條件
作法 04 從問題向上到錯誤或從程式的開始向下到錯誤
作法 05 找出新舊系統間的差異
作法 06 使用軟體的除錯設施
作法 07 建構與執行環境的多元化
作法 08 專注於最重要的問題
chapter 02 通用方法與實踐
作法 09 讓自己準備好
作法 10 有效的重複產生問題
作法 11 減少來回修改的時間
作法 12 複雜測試場合的自動化
作法 13 展示你的除錯資料
作法 14 更新你的軟體
作法 15 參考第三方原始碼
作法 16 使用專用監控與程式設備
作法 17 放大失敗的效應
作法 18 從你的桌面對遠端系統除錯
作法 19 除錯任務自動化
作法 20 除錯前後的清理工作
作法 21 修理有問題類別的所有實例
chapter 03 通用工具與技巧
作法 22 以 Unix 命令列工具分析除錯資料
作法 23 使用命令列工具選項
作法 24 以編輯器探索除錯資料
作法 25 工作環境最佳化
作法 26 以版本控制系統追獵錯誤的成因與歷史
作法 27 使用系統的獨立行程監控工具
chapter 04 除錯技巧
作法 28 使用符號除錯編譯的程式
作法 29 逐步執行程式
作法 30 使用程式與資料中斷點
作法 31 熟悉反向除錯
作法 32 沿著程序間的呼叫
作法 33 檢視變數與表達式的值以找尋錯誤
作法 34 知道如何將除錯工具附在行程上
作法 35 認識如何使用核心傾印
作法 36 調校你的除錯工具
作法 37 認識如何檢視組合語言程式碼與原始記憶體
chapter 05 程式設計技巧
作法 38 審核與手動執行可疑程式碼
作法 39 與同僚一起檢視你的程式碼
作法 40 加入除錯功能
作法 41 加入日誌記錄陳述
作法 42 使用單元測試
作法 43 使用斷言
作法 44 擾動程式以檢驗你的推論
作法 45 將可行與失敗程式間的差異最小化
作法 46 簡化可疑程式
作法 47 以其他語言重寫可疑的程式
作法 48 改善可疑程式碼的易讀性與結構
作法 49 治本而非治標
chapter 06 編譯期技巧
作法 50 檢視產生的程式碼
作法 51 使用靜態程式分析
作法 52 設定決定性建構與執行
作法 53 設定使用除錯函式庫
chapter 07 執行期技巧
作法 54 建構測試案例以找出問題
作法 55 盡快失敗
作法 56 檢視應用程式日誌檔案
作法 57 系統與行程操作的側寫
作法 58 追蹤程式執行
作法 59 使用動態程式分析工具
chapter 08 多執行緒程式除錯
作法 60 以剖析除錯分析死結
作法 61 擷取與複製
作法 62 以專用工具找出死結與競爭狀況
作法 63 隔離與移除不確定性
作法 64 檢視競爭以調查可擴展性問題
作法 65 以效能監視器找出假共用
作法 66 以高階抽象重寫程式
網路資源
索引