調試九法

內容介紹

硬體缺陷和軟體錯誤是“技術偵探”的勁敵,它們負隅頑抗,見縫插針。本書提出的九條簡單實用的規則,適用於任何軟體應用程式和硬體系統,可以幫助軟硬體調試工程師檢測任何bug,不管它們有多么狡猾和隱秘。
作者使用真實示例展示了如何套用簡單有效的通用策略來排查各種各樣的問題,例如晶片過熱、由蛋酒引起的電路短路、觸控螢幕失真,等等。本書給出了真正能夠隔離關鍵因素、運行測試序列和查找失敗原因的技術。
無論你的系統或程式發生了設計錯誤、構建錯誤還是使用錯誤,本書都可以幫助你用正確的方法來思考,使bug自動暴露,進而一網打盡,斬草除根。

作者介紹

David J. Agans
資深調試專家,善於解決一些最棘手的調試問題,涉及工業控制和監視系統、積體電路設計、掌上電腦、視頻會議系統等。1976年畢業於麻省理工學院,現為SeaChange International工程總監。曾經營計算機系統諮詢公司PointSource,任Zydacron公司副總裁,還曾就職於Gould、仙童和DEC等知名企業。

作品目錄

第1章 簡介 1
1.1 本書如何教會你調試 1
1.2 這些規則都很顯而易見 2
1.3 本書適用於任何人 3
1.4 本書可用於調試各種問題 3
1.5 本書的主旨不在預防、保證或篩選 4
1.6 調試不僅僅是故障檢修 5
1.7 有關案例故事 6
1.8 精彩內容,即將上演 6
第2章 總體規則 8
第3章 理解系統 10
3.1 閱讀手冊 12
3.2 逐字逐句閱讀整個手冊 13
3.3 知道什麼是正常的 15
3.4 知道工作流程 16
3.5 了解你的工具 17
3.6 查閱手冊 18
3.7 小結 20
第4章 製造失敗 21
4.1 製造失敗 24
4.2 從頭開始 24
4.3 引發失敗 25
4.4 不要模擬失敗 25
4.5 如何處理間歇性bug 27
4.6 如果做了所有嘗試之後問題仍然間歇性發生 29
4.6.1 仔細觀察失敗 29
4.6.2 不要盲目相信統計數據 30
4.6.3 是已修復bug,還是僅僅由於運氣好,它不再發生了 31
4.7 “那不可能發生” 33
4.8 永遠不要丟掉調試工具 34
4.9 小結 36
第5章 不要想,而要看 37
5.1 觀察失敗 41
5.2 查看細節 43
5.3 問題忽隱忽現 46
5.4 對系統進行插裝 46
5.4.1 設計插裝工具 46
5.4.2 過後構建插裝 48
5.4.3 不要害怕深入研究 50
5.4.4 添加外部插裝 51
5.4.5 日常生活中的插裝 51
5.5 海森堡測不準原理 52
5.6 猜測只是為了確定搜尋的重點目標 53
5.7 小結 54
第6章 分而治之 55
6.1 縮小搜尋範圍 59
6.1.1 確定範圍 60
6.1.2 你在哪一側 61
6.2 插入易於識別的模式 62
6.3 從有問題的支路開始查找問題 63
6.4 修復已知bug 64
6.5 首先消除噪聲干擾 65
6.6 小結 66
第7章 一次只改一個地方 67
7.1 使用步槍,而不要用散彈槍 69
7.2 用雙手抓住黃銅桿 71
7.3 一次只改變一個測試 72
7.4 與正常系統進行比較 73
7.5 自從上一次能夠正常工作以來你更改了什麼 74
7.6 小結 77
第8章 保持審計跟蹤 78
8.1 記下你的每步操作、順序和結果 80
8.2 魔鬼隱藏在細節中 81
8.3 關聯 83
8.4 用於設計的審計跟蹤在測試中也非常有用 84
8.5 好記性不如爛筆頭 84
8.6 小結 85
第9章 檢查插頭 86
9.1 懷疑自己的假設 88
9.2 從頭開始檢查 89
9.3 對工具進行測試 90
9.4 小結 92
第10章 獲得全新觀點 93
10.1 尋求幫助 94
10.1.1 獲得全新觀點 94
10.1.2 詢問專家 94
10.1.3 借鑑別人的經驗 95
10.2 到哪裡尋求幫助 96
10.3 放下面子 97
10.4 報告症狀,而不是理論 98
10.5 小結 99
第11章 如果你不修復bug,
它將依然存在 101
11.1 檢查問題確實已被修復 103
11.2 檢查確實是修復措施解決了問題 103
11.3 bug從來不會自己消失 104
11.4 從根本上解決問題 105
11.5 對過程進行修復 107
11.6 小結 107
第12章 通過一個案例講述所有規則 109
第13章 牛刀小試 113
13.1 燈和吸塵器的故事 113
13.2 大量出現的bug 115
13.3 寬鬆的限制 119
13.4 識破bug 123
第14章 從幫助台得到的觀點 128
14.1 幫助台的限制 130
14.2 規則,幫助颱風格 130
14.2.1 理解系統 131
14.2.2 製造失敗 132
14.2.3 不要想,而要看 132
14.2.4 分而治之 134
14.2.5 一次只改一個地方 134
14.2.6 保持審計跟蹤 135
14.2.7 檢查插頭 136
14.2.8 獲得全新觀點 136
14.2.9 如果你不修復bug,它將依然存在 137
14.3 小結 137
第15章 結束語 139
15.1 調試規則網站 139
15.2 如果你是一名工程師 139
15.3 如果你是一名經理 140
15.4 如果你是一名教師 141
15.5 小結 141

相關詞條

熱門詞條

聯絡我們