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

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

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

定 價(jià):¥40.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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