注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(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著;鄧勁生等譯;鄧勁生譯
出版社: 中國(guó)水利水電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書(shū)可以去


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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

譯者序                  
 作者簡(jiǎn)介                  
 致謝                  
 第1章  Debug簡(jiǎn)介                  
 1. l  本書(shū)的內(nèi)容                  
 1. 2  為什么要關(guān)注bug                  
 1. 3  什么是bug                  
 1. 4  本書(shū)的對(duì)象                  
 1. 5  本書(shū)的組織                  
 1. 6  調(diào)試簡(jiǎn)史                  
 1. 7  小結(jié)                  
 1. 8  bug問(wèn)題                  
 第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問(wèn)題                  
 第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問(wèn)題                  
 第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是如何躲過(guò)測(cè)試的                  
 4. 3. l  遵循形式過(guò)程代價(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問(wèn)題                  
 第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  未來(lái)計(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  硬編碼長(zhǎng)度/尺寸                  
 5. 4. 16  版本bug                  
 5. 4. 17  不恰當(dāng)?shù)刂赜胋ug                  
 5. 4. 18  布爾bug                  
 5. 5  為什么分類重要                  
 5. 6  小結(jié)                  
 5. 7  bug問(wèn)題                  
 第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  直覺(jué)                  
 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問(wèn)題                  
 第7章  調(diào)試工具及其使用時(shí)機(jī)                  
 7. l  測(cè)試和調(diào)試環(huán)境                  
 7. 1. 1  測(cè)試組                  
 7. 1. 2  測(cè)試套                  
 7. 1. 3  過(guò)時(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問(wèn)題                  
 第8章  調(diào)試的一般過(guò)程                  
 8. l  識(shí)別問(wèn)題                  
 8. l. l  這是bug嗎                  
 8. 1. 2  為什么它是一個(gè)bug                  
 8. 1. 3  程序應(yīng)該在做什么                  
 8. 1. 4  程序到底在做什么                  
 8. 2  收集信息                  
 8. 2. 1  用戶對(duì)問(wèn)題的描述                  
 8. 2. 2  日志文件                  
 8. 2. 3  新自觀察                  
 8. 2. 4  癥狀                  
 8. 2. 5  失敗的測(cè)試實(shí)例                  
 8. 2. 6  相似的問(wèn)題                  
 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問(wèn)題                  
 第9章  調(diào)試技術(shù)                  
 9. l  插入式調(diào)試和非插入式調(diào)試                  
 9. 2  短期調(diào)試和長(zhǎng)期調(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)試代碼和過(guò)程                  
 9. 4. 4  模擬代碼和問(wèn)題                  
 9. 4. 5  簡(jiǎn)化重視性                  
 9. 4. 6  把問(wèn)題簡(jiǎn)化成最簡(jiǎn)單的元素                  
 9. 4. 7  代碼消去法                  
 9. 4. 8  簡(jiǎn)化法                  
 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  問(wèn)題假設(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問(wèn)題                  
 第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ù)庫(kù)的一個(gè)簡(jiǎn)單描述                  
 10. 3. 2  保留數(shù)據(jù)的使用情況來(lái)發(fā)現(xiàn)哪些數(shù)據(jù)經(jīng)常被使用                  
 10. 4  大規(guī)模系統(tǒng)                  
 10. 4. l  為測(cè)試安裝一個(gè)"后門(mén)"                  
 10. 4. 2  觀察外部條件的改變                  
 10. 5  實(shí)時(shí)系統(tǒng)                  
 10. 5. l  注意添加調(diào)試語(yǔ)句                  
 10. 5. 2  監(jiān)視硬件軟件的沖突                  
 10. 5. 3  時(shí)間問(wèn)題                  
 10. 6  嵌入式系統(tǒng)                  
 10. 6. l  模擬器問(wèn)題                  
 10. 6. 2  抑制中斷                  
 10. 6. 3  協(xié)議錯(cuò)誤                  
 10. 6. 4  看門(mén)狗時(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ù)庫(kù)                  
 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)模擬器的問(wèn)題簡(jiǎn)化成最簡(jiǎn)單的形式                  
 10. 9  小結(jié)                  
 10. 10  bug問(wèn)題                  
 第11章  調(diào)試之后                  
 11. l  是不是在其他地方犯同樣的錯(cuò)誤                  
 11. 2  bug背后隱含了什么                  
 11. 3  怎樣預(yù)防同類bug                  
 11. 3. l  理解原因                  
 11. 3. 2  保留測(cè)試用例                  
 11. 3. 3  利用bug為將來(lái)的設(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問(wèn)題                  
 第12章  bug預(yù)防                  
 12. 1  什么是bug預(yù)防                  
 12. 2  一般技術(shù)                  
 12. 2. 1  預(yù)防bug的人                  
 12. 2. 2  問(wèn)題原因分析                  
 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  理解問(wèn)題                  
 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  理解開(kāi)發(fā)工具                  
 12. 5. 2  防御編碼                  
 12. 5. 3  實(shí)現(xiàn)選擇                  
 12. 5. 4  逐步測(cè)試                  
 12. 6  小結(jié)                  
 12. 7 bug問(wèn)題                  
 第13章  測(cè)試                  
 13. 1  單元測(cè)試                  
 13. 1. l  測(cè)試什么                  
 13. 1. 2  單元測(cè)試為什么重要                  
 13. 1. 3  怎樣應(yīng)用到調(diào)試中                  
 13. 1. 4  單元測(cè)試有什么重要問(wèn)題                  
 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問(wèn)題                  
 第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展開(kāi)工作                  
 14. 3. 3  徹底的回歸測(cè)試                  
 14. 3. 4  保持修改跟蹤                  
 14. 4  什么時(shí)候要放棄                  
 14. 5  小結(jié)                  
 14. 6  bug問(wèn)題                  
 第15章  專業(yè)調(diào)試                  
 15. 1  學(xué)習(xí)成為一名調(diào)試員                  
 15. 1. l  在軟件維護(hù)和改進(jìn)組中工作                  
 15. 1. 2  學(xué)習(xí)編寫(xiě)源代碼的一個(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問(wèn)題                  
 附錄A  bug問(wèn)題的答案                  
 附錄B  附加的閱讀資料                  

本目錄推薦

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