每個軟體開發者與IT專家都知道高效除錯的重要性。除錯通常佔據開發者大部分的時間,而掌握技巧需要一輩子的投入。作者Diomidis Spinellis在這本書中提供了系統化分類、解析說明、最有效的除錯方法、策略、技巧以及工具,協助有經驗的程式設計師加速掌握技能。
作者以超過三十五年以上的經驗幫助讀者擴展除錯技術,於各種情境選擇最佳方式。書中展示了大量通用原則、高階策略、扎實技巧、高效工具、創意絕招與行為軌跡的高效除錯範例。
Spinellis的66個具體作法討論除錯的各種面向,並以一步步的指示與實際程式碼進行說明。他討論了現代軟體系統中發生的各種問題,特別是元件間的複雜互動與分散於全球主機環境中執行的服務。
無論你正在處理個別的執行期錯誤或整個企業系統的災難,這本書都能幫助你快速無痛的完成任務。
關鍵內容包括:
‧處理各種問題的高階策略與方法
‧適用於程式設計、編譯與執行程式的特定技巧
‧更好的運用除錯工具
‧值得學習的通用技巧與工具
‧解決複雜謎團的進階點子與技巧
‧讓程式易於除錯的建議
‧多執行緒、非同步與嵌入程式除錯的特殊方式
‧改善軟體設計、建構與管理以避免錯誤
目錄
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 以高階抽象重寫程式
網路資源
索引
chapter 01 高階策略
作法 01 透過問題記錄系統處理所有問題
作法 02 以精確的關鍵字上網查詢問題的線索
作法 03 確認滿足前後條件
作法 04 從問題向上到錯誤或從程式的開始向下到錯誤
作法 05 找出新舊系統間的差異
作法 06 使用軟體的除錯設施
作法 07 建構與執行環境的多元化
作法 08 專注於最重要的問題
chapter 02 通用方法與實踐
作法 09 讓自己準備好
作法 10 有效的重複產生問題
作法 11 減少來回修改的時間
作法 12 複雜測試場合的自動化
作法 13 展示你的除錯資料
作法 14 更新你...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。