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 以高階抽象重寫程式網路資源索引