注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合程序調(diào)試思想與實踐

程序調(diào)試思想與實踐

程序調(diào)試思想與實踐

定 價:¥40.00

作 者: (美)Matt Telles,(美)Yuan Hsieh著;鄧勁生等譯;鄧勁生譯
出版社: 中國水利水電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787508410081 出版時間: 2002-03-01 包裝:
開本: 24cm 頁數(shù): 364 字數(shù):  

內(nèi)容簡介

  本書將調(diào)試作為一門專業(yè)的學科進行研究和分析,提供大量的代碼實例和問題描述,對調(diào)試的各個方面進行細致而深入的闡述和討論。全書以bug為中心,圍繞調(diào)試這一主題進行組織。第2章到第5章包括bug的診斷、分類以及它們的癥狀。第6章到第10章討論那些處理bug的策略,包括可以使用的工具以及在不同情況下如何最有效地使用它們。第11章到第16章包括對專業(yè)調(diào)試的解釋以及如何成為一個出色的調(diào)試員。本書主要面向的讀者群是軟件項目的開發(fā)人員、調(diào)試人員、測試人員以及管理人員。

作者簡介

暫缺《程序調(diào)試思想與實踐》作者簡介

圖書目錄

譯者序                  
 作者簡介                  
 致謝                  
 第1章  Debug簡介                  
 1. l  本書的內(nèi)容                  
 1. 2  為什么要關(guān)注bug                  
 1. 3  什么是bug                  
 1. 4  本書的對象                  
 1. 5  本書的組織                  
 1. 6  調(diào)試簡史                  
 1. 7  小結(jié)                  
 1. 8  bug問題                  
 第2章  研究著名的(以及不太著名的)bug例子                  
 2. 1  大致情況                  
 2. 1. 1  現(xiàn)實生活中的分布式系統(tǒng)                  
 2. 1. 2  Therac-25                  
 2. 2  bug實例#1                  
 2. 3  bug實例#2                  
 2. 4  bug實例#3                  
 2. 5  bug實例#4                  
 2. 5. 1  AT&T電話中斷                  
 2. 5. 2  緩沖區(qū)溢出                  
 2. 6  小結(jié)                  
 2. 7  bug問題                  
 第3章  什么是bug                  
 3. l  什么是bug                  
 3. 1. 1  什么是軟件缺陷                  
 3. 1. 2  調(diào)試不是什么                  
 3. 1. 3  什么是調(diào)試                  
 3. 2  為什么要考慮bug                  
 3. 2. l  bug的信心代價                  
 3. 2. 2  名聲和形象的代價                  
 3. 2. 3  bug的財產(chǎn)損失                  
 3. 3  bug的本質(zhì)                  
 3. 3. l  bug的發(fā)生都有原因                  
 3. 3. 2  bug是可以重視的                  
 3. 3. 3  bug通常在有變化時出現(xiàn)                  
 3. 3. 4  bug也會產(chǎn)生bug                  
 3. 3. 5  bug吸引bug                  
 3. 3. 6  證明缺乏理解                  
 3. 3. 7  難的代碼對大家都一樣難                  
 3. 3. 8  在軟件生命周期中不同階段的bug有不同的性質(zhì)                  
 3. 3. 9  穩(wěn)定的系統(tǒng)中的bug的原因可能比錯誤的系統(tǒng)中的bug的原因更難以識別                  
 3. 4  小結(jié)                  
 3. 5 bug問題                  
 第4章  bug的生命周期                  
 4. l  為什么會出現(xiàn)bug                  
 4. 1. 1  復雜性                  
 4. 1. 2  現(xiàn)實                  
 4. 1. 3  人類的弱點                  
 4. 2  bug是如何產(chǎn)生的                  
 4. 2. 1  對軟件做修改                  
 4. 2. 2  拙劣的描述                  
 4. 2. 3  方法的復雜性                  
 4. 2. 4  缺少一致的觀點                  
 4. 2. 5  程序員錯誤                  
 4. 3  bug是如何躲過測試的                  
 4. 3. l  遵循形式過程代價太大                  
 4. 3. 2  政策/市場決策                  
 4. 3. 3  時間不充分                  
 4. 3. 4  缺少重現(xiàn)能力                  
 4. 3. 5  自負                  
 4. 3. 6  差勁的描述/不知道要測試什么                  
 4. 3. 7  缺乏測試環(huán)境                  
 4. 4  小結(jié)                  
 4. 5  bug問題                  
 第5章  bug的分類                  
 5. l  bug的種類                  
 5. 1. 1  需求階段的bug                  
 5. 1. 2  設(shè)計階段的bug                  
 5. 1. 3  實現(xiàn)階段的bug                  
 5. 1. 4  處理階段的bug                  
 5. 1. 5  編譯的bug                  
 5. 1. 6  配置的bug                  
 5. 1. 7  未來計劃bug                  
 5. 1. 8  文檔bug                  
 5. 2  嚴重性                  
 5. 3  bug分類法                  
 5. 3. l  名字                  
 5. 3. 2  描述                  
 5. 3. 3  最一般的環(huán)境                  
 5. 3. 4  癥狀                  
 5. 3. 5  例子                  
 5. 4  bug的分類                  
 5. 4. l  內(nèi)存或資源泄漏                  
 5. 4. 2  邏輯錯誤                  
 5. 4. 3  編碼錯誤                  
 5. 4. 4  內(nèi)存侵占                  
 5. 4. 5  循環(huán)錯誤                  
 5. 4. 6  條件錯誤                  
 5. 4. 7  指針錯誤                  
 5. 4. 8  分配/釋放錯誤                  
 5. 4. 9  多線程錯誤                  
 5. 4. 10  定時錯誤                  
 5. 4. 11  分布式應用程序錯誤                  
 5. 4. 12  存儲錯誤                  
 5. 4. 13  集成錯誤                  
 5. 4. 14  轉(zhuǎn)換錯誤                  
 5. 4. 15  硬編碼長度/尺寸                  
 5. 4. 16  版本bug                  
 5. 4. 17  不恰當?shù)刂赜胋ug                  
 5. 4. 18  布爾bug                  
 5. 5  為什么分類重要                  
 5. 6  小結(jié)                  
 5. 7  bug問題                  
 第6章  檢測工作                  
 6. 1  整體調(diào)試                  
 6. 1. 1  復制和粘貼錯誤                  
 6. l. 2  全局變量                  
 6. 1. 3  副作用                  
 6. 1. 4  觀察意外的消息或結(jié)果                  
 6. 1. 5  跟蹤診斷顯示                  
 6. 2  調(diào)試方法                  
 6. 2. l  科學方法                  
 6. 2. 2  直覺                  
 6. 2. 3  思維跳躍                  
 6. 2. 4  診斷                  
 6. 3  商業(yè)技巧                  
 6. 3. l  內(nèi)嵌式調(diào)試器                  
 6. 3. 2  日志對象                  
 6. 3. 3  跟蹤對象                  
 6. 3. 4  隱藏的診斷屏                  
 6. 3. 5  為以后的程序運行保存bug數(shù)據(jù)                  
 6. 4  可重現(xiàn)實例                  
 6. 4. 1  測試實例                  
 6. 4. 2  數(shù)據(jù)依賴                  
 6. 4. 3  從根本原因中分離癥狀                  
 6. 4. 4  收集觀察結(jié)果                  
 6. 4. 5  統(tǒng)計論理                  
 6. 5  小結(jié)                  
 6. 6  bug問題                  
 第7章  調(diào)試工具及其使用時機                  
 7. l  測試和調(diào)試環(huán)境                  
 7. 1. 1  測試組                  
 7. 1. 2  測試套                  
 7. 1. 3  過時的bug組                  
 7. 1. 4  日志                  
 7. l. 5  跟蹤                  
 7. 2  中級調(diào)試技術(shù)                  
 7. 2. 1  內(nèi)存漏洞檢測工具                  
 7. 2. 2  交叉索弓吸工具用法                  
 7. 2. 3  調(diào)試器                  
 7. 2. 4  Heisenberg的不確定原理                  
 7. 2. 5  嵌入式診斷                  
 7. 2. 6  斷言的弊端                  
 7. 2. 7  同用戶一起工作                  
 7. 2. 8  bug跟蹤                  
 7. 2. 9  代碼覆蓋范圍分析                  
 7. 2. 10  編譯器                  
 7. 3  小結(jié)                  
 7. 4  bug問題                  
 第8章  調(diào)試的一般過程                  
 8. l  識別問題                  
 8. l. l  這是bug嗎                  
 8. 1. 2  為什么它是一個bug                  
 8. 1. 3  程序應該在做什么                  
 8. 1. 4  程序到底在做什么                  
 8. 2  收集信息                  
 8. 2. 1  用戶對問題的描述                  
 8. 2. 2  日志文件                  
 8. 2. 3  新自觀察                  
 8. 2. 4  癥狀                  
 8. 2. 5  失敗的測試實例                  
 8. 2. 6  相似的問題                  
 8. 2. 7  近期變化                  
 8. 2. 8  運行的環(huán)境信息                  
 8. 3  形成假設(shè)                  
 8. 4  測試假設(shè)                  
 8. 5  崩潰的Web服務(wù)器示例                  
 8. 6  重復直到某個假設(shè)被證實                  
 8. 7  提出解決方法                  
 8. 8  測試解決方法                  
 8. 9  重復直到某個解決方法被證實                  
 8. 10  回歸測試                  
 8. 11  小結(jié)                  
 8. 12  bug問題                  
 第9章  調(diào)試技術(shù)                  
 9. l  插入式調(diào)試和非插入式調(diào)試                  
 9. 2  短期調(diào)試和長期調(diào)試技術(shù)                  
 9. 3  成品軟件調(diào)試的折衷辦法                  
 9. 4  調(diào)試技術(shù)介紹                  
 9. 4. 1  面對實際用戶                  
 9. 4. 2  查看觀察日志                  
 9. 4. 3  記錄調(diào)試代碼和過程                  
 9. 4. 4  模擬代碼和問題                  
 9. 4. 5  簡化重視性                  
 9. 4. 6  把問題簡化成最簡單的元素                  
 9. 4. 7  代碼消去法                  
 9. 4. 8  簡化法                  
 9. 4. 9  使用調(diào)試器                  
 9. 4. 10  跳躍                  
 9. 4. 11  分解法                  
 9. 4. 12  種植錯誤法                  
 9. 4. 13  編譯檢測法                  
 9. 4. 14  整體考慮法                  
 9. 4. 15  使用不同操作系統(tǒng)上的另一個編譯導                  
 9. 4. 16  每次改變一個變量                  
 9. 4. 17  數(shù)字命理學和邊界條件                  
 9. 4. 18  檢查最近的修改                  
 9. 4. 19  清除系統(tǒng)中的"死代碼"                  
 9. 4. 20  問題假設(shè)法                  
 9. 4. 21  檢查本測試的代碼                  
 9. 4. 22  不變式法                  
 9. 4. 23  存儲器使用情況                  
 9. 4. 24  互斥                  
 9. 4. 25  顯示系統(tǒng)的運行情況                  
 9. 4. 26  和工作的系統(tǒng)進行代碼比較                  
 9. 4. 27  理解算法                  
 9. 4. 28  檢查連通性                  
 9. 4. 29  核心文件                  
 9. 4. 30  增加跟蹤                  
 9. 4. 31  數(shù)據(jù)關(guān)系檢查                  
 9. 4. 32  重放能力(記錄動作)                  
 9. 4. 33  生成系統(tǒng)的副本                  
 9. 5  小結(jié)                  
 9. 6  bug問題                  
 第10章  不同應用系統(tǒng)的調(diào)試                  
 10. 1  小規(guī)模單機系統(tǒng)                  
 10. 1. l  成為系統(tǒng)的用戶                  
 10. 1. 2  復制環(huán)境                  
 10. 1. 3  提防DLL Hell                  
 10. 1. 4  輸入/輸出錯誤                  
 10. 2  中規(guī)模單機系統(tǒng)                  
 10. 3  中規(guī)??蛻?服務(wù)器系統(tǒng)                  
 10. 3. l  生成后端數(shù)據(jù)庫的一個簡單描述                  
 10. 3. 2  保留數(shù)據(jù)的使用情況來發(fā)現(xiàn)哪些數(shù)據(jù)經(jīng)常被使用                  
 10. 4  大規(guī)模系統(tǒng)                  
 10. 4. l  為測試安裝一個"后門"                  
 10. 4. 2  觀察外部條件的改變                  
 10. 5  實時系統(tǒng)                  
 10. 5. l  注意添加調(diào)試語句                  
 10. 5. 2  監(jiān)視硬件軟件的沖突                  
 10. 5. 3  時間問題                  
 10. 6  嵌入式系統(tǒng)                  
 10. 6. l  模擬器問題                  
 10. 6. 2  抑制中斷                  
 10. 6. 3  協(xié)議錯誤                  
 10. 6. 4  看門狗時鐘                  
 10. 6. 5  調(diào)試嵌入式系統(tǒng)                  
 10. 7  分布式系統(tǒng)                  
 10. 7. l  中間設(shè)備錯誤                  
 10. 7. 2  預測錯誤                  
 10. 7. 3  連接錯誤                  
 10. 7. 4  安全錯誤                  
 10. 7. 5  信息數(shù)據(jù)庫                  
 10. 7. 6  記錄的事后調(diào)查分析                  
 10. 8  模擬系統(tǒng)                  
 10. 8. l  封裝硬件接口                  
 10. 8. 2  把模擬調(diào)用封裝成預測錯誤返回                  
 10. 8. 3  把實際系統(tǒng)模擬器的問題簡化成最簡單的形式                  
 10. 9  小結(jié)                  
 10. 10  bug問題                  
 第11章  調(diào)試之后                  
 11. l  是不是在其他地方犯同樣的錯誤                  
 11. 2  bug背后隱含了什么                  
 11. 3  怎樣預防同類bug                  
 11. 3. l  理解原因                  
 11. 3. 2  保留測試用例                  
 11. 3. 3  利用bug為將來的設(shè)計                  
 11. 4  怎樣更容易發(fā)現(xiàn)類似的 bug                  
 11. 4. 1  創(chuàng)造工具                  
 11. 4. 2  記錄bug                  
 11. 4. 3  預留調(diào)試框架                  
 11. 5  我是否有所進步                  
 11. 5. l  bug量度                  
 11. 5. 2  bug跟蹤                  
 11. 5. 3  怎樣處理數(shù)據(jù)                  
 11. 6  小結(jié)                  
 11. 7  bug問題                  
 第12章  bug預防                  
 12. 1  什么是bug預防                  
 12. 2  一般技術(shù)                  
 12. 2. 1  預防bug的人                  
 12. 2. 2  問題原因分析                  
 12. 2. 3  檢測錯誤                  
 12. 2. 4  重用                  
 12. 2. 5  減小復雜度和管理復雜度                  
 12. 2. 6  現(xiàn)實世界的文檔                  
 12. 2. 7  內(nèi)部基礎(chǔ)結(jié)構(gòu)支持                  
 12. 3  需求中的bug預防                  
 12. 3. l  理解問題                  
 12. 3. 2  正確獲得需求                  
 12. 4  設(shè)計中的bug預防                  
 12. 4. 1  不同的設(shè)計產(chǎn)生不同的bug類型                  
 12. 4. 2  設(shè)計接口                  
 12. 4. 3  設(shè)計包含文檔的代碼                  
 12. 5  實現(xiàn)中的bug預防                  
 12. 5. 1  理解開發(fā)工具                  
 12. 5. 2  防御編碼                  
 12. 5. 3  實現(xiàn)選擇                  
 12. 5. 4  逐步測試                  
 12. 6  小結(jié)                  
 12. 7 bug問題                  
 第13章  測試                  
 13. 1  單元測試                  
 13. 1. l  測試什么                  
 13. 1. 2  單元測試為什么重要                  
 13. 1. 3  怎樣應用到調(diào)試中                  
 13. 1. 4  單元測試有什么重要問題                  
 13. 2  驗證測試                  
 13. 3  質(zhì)量保證測試                  
 13. 4  測試方法                  
 13. 4. l  路徑測試                  
 13. 4. 2  事務(wù)處理測試                  
 13. 4. 3  輸入驗證                  
 13. 4. 4  算法測試                  
 13. 4. 5  決策表                  
 13. 4. 6  狀態(tài)機分析                  
 13. 4. 7  綜合測試                  
 13. 4. 8  自上向下測試和自下向上測試                  
 13. 4. 9  配置調(diào)試                  
 13. 4. 10  恢復崩潰和掉電測試                  
 13. 4. 11  安全性測試                  
 13. 4. 12  第三方測試                  
 13. 4. 13  多用戶測試                  
 13. 4. 14  負載和性能測試                  
 13. 4. 15  測量和統(tǒng)計                  
 13. 5  小結(jié)                  
 13. 6  bug問題                  
 第14章  維護                  
 14. 1  什么是軟件維護                  
 14. 1. l  維護工作                  
 14. 1. 2  維護的挑戰(zhàn)                  
 14. 1. 3  軟件的退化需要軟件維護                  
 14. 2  創(chuàng)建一個可維護的軟件系統(tǒng)                  
 14. 2. 1  創(chuàng)建可理解的軟件                  
 14. 2. 2  可維護設(shè)計                  
 14. 2. 3  提供一個回歸測試環(huán)境                  
 14. 2. 4  創(chuàng)建一個可維護的環(huán)境                  
 14. 3  維護現(xiàn)有的軟件                  
 14. 3. l  修改現(xiàn)有軟件系統(tǒng)                  
 14. 3. 2  圍繞現(xiàn)有的需求和設(shè)計bug展開工作                  
 14. 3. 3  徹底的回歸測試                  
 14. 3. 4  保持修改跟蹤                  
 14. 4  什么時候要放棄                  
 14. 5  小結(jié)                  
 14. 6  bug問題                  
 第15章  專業(yè)調(diào)試                  
 15. 1  學習成為一名調(diào)試員                  
 15. 1. l  在軟件維護和改進組中工作                  
 15. 1. 2  學習編寫源代碼的一個好辦法                  
 15. 2  什么地方需要專業(yè)調(diào)試員                  
 15. 2. 1  在設(shè)計階段                  
 15. 2. 2  在需求階段                  
 15. 2. 3  在代碼審查階段                  
 15. 2. 4  在代碼移交階段                  
 15. 2. 5  項目階段總結(jié)                  
 15. 3  優(yōu)秀專業(yè)調(diào)試者的特點                  
 15. 3. 1  老練                  
 15. 3. 2  耐性                  
 15. 3. 3  探測技巧                  
 15. 3. 4  處理壓力的能力                  
 15. 3. 5  工程的/科學的方法                  
 15. 3. 6  忘我                  
 15. 3. 7  堅定不移                  
 15. 4  專業(yè)調(diào)試者的一天                  
 15. 5  小結(jié)                  
 15. 6  bug問題                  
 附錄A  bug問題的答案                  
 附錄B  附加的閱讀資料                  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號