注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學軟件調試修煉之道

軟件調試修煉之道

軟件調試修煉之道

定 價:¥32.00

作 者: (美) 布徹 著 ,曹玉琳 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 軟件工程/開發(fā)項目管理

ISBN: 9787115252647 出版時間: 2011-06-01 包裝: 平裝
開本: 16開 頁數(shù): 158 字數(shù):  

內容簡介

  調試對軟件開發(fā)至關重要。然而,即使對于有經(jīng)驗的程序員,調試也決非易事?!盾浖{試修煉之道》是一部優(yōu)秀的軟件調試實戰(zhàn)指南,作者總結了自己和身邊同事多年的經(jīng)驗教訓,詳細闡述了調試的方方面面。書中內容共分為三大部分。第一部分借助軟件特有的功能展示缺陷是怎么產生的,介紹了建立在實證方法之上的核心調試方法;第二部分闡述怎樣發(fā)現(xiàn)代碼中存在需要修復的問題,以及如何將調試融入到整個軟件開發(fā)過程中去;第三部分討論如何避免一些常見的缺陷。《軟件調試修煉之道》秉承了Pragmatic圖書簡潔實用的風格,總結了大量方法與經(jīng)驗,適合軟件開發(fā)人員、調試人員閱讀并迅速付諸實踐。

作者簡介

  Paul Butcher 資深程序員,涉獵廣泛,從單片機編碼到高級聲明式編程無所不精。Paul是一位少年天才,8歲時就已經(jīng)開始在8位機上編寫游戲。最近幾年他開始癡迷于賽車,認為自己是可以和漢密爾頓比肩的賽車手。

圖書目錄

第一部分  問題的核心
第1 章  山重水復疑無路  2
1.1  調試不僅是排除缺陷  2
1.2  實證方法  4
1.3  核心調試過程  5
1.4  先澄清幾個問題  6
1.4.1  你知道要找的是什么嗎   6
1.4.2  一次一個問題  7
1.4.3  先檢查簡單的事情   7
1.5  付諸行動  8
第2 章  重現(xiàn)問題  9
2.1  重現(xiàn)第一,提問第二  9
2.1.1  明確開始要做的事   10
2.1.2  抓住重點  10
2.2  控制軟件   11
2.3  控制環(huán)境   11
2.4  控制輸入   13
2.4.1  推測可能的輸入   13
2.4.2  記錄輸入值  15
2.4.3  負載和壓力  19
2.5  改進問題重現(xiàn)  20
2.5.1  最小化反饋周期  20
2.5.2  將不確定的缺陷變?yōu)榇_定的   22
2.5.3  自動化  25
2.5.4  迭代  26
2.6  如果真的不能重現(xiàn)問題該怎么辦   27
2.6.1  缺陷真的存在嗎   27
2.6.2  在相同的區(qū)域解決不同的問題  27
2.6.3  讓其他人參與其中  27
2.6.4  充分利用用戶群體  28
2.6.5  推測法   28
2.7  付諸行動   29
第3 章  診斷  30
3.1  不要急于動手——試試科學的方法  30
3.2  相關策略  35
3.2.1  插樁  36
3.2.2  分而治之  37
3.2.3  利用源代碼控制工具   38
3.2.4  聚焦差異  39
3.2.5  向他人學習  39
3.2.6  奧卡姆的剃刀  40
3.3  調試器  40
3.4  陷阱  41
3.4.1  你做的修改是正確的嗎  41
3.4.2  驗證假設  42
3.4.3  多重原因  43
3.4.4  流沙  44
3.5  思維游戲    45
3.5.1  旁觀調試法  45
3.5.2  角色扮演  46
3.5.3  換換腦筋  47
3.5.4  做些改變,什么改變都行  47
3.5.5  福爾摩斯原則  48
3.5.6  堅持  49
3.6  驗證診斷   49
3.7  付諸行動   50
第4 章  修復缺陷  51
4.1  清除障礙  51
4.2  測試  52
4.3  修復問題產生的原因,而非修復現(xiàn)  54
4.4  重構  56
4.5  簽入  57
4.6  審查代碼   58
4.7  付諸行動   59
第5 章  反思  60
5.1  這到底是怎么搞的  60
5.2  哪里出了問題  61
5.2.1  我們已經(jīng)做到了嗎  62
5.2.2  根本原因分析   62
5.3  它不會再發(fā)生了  63
5.3.1  自動驗證  63
5.3.2  重構  64
5.3.3  過程  65
5.4  關閉循環(huán)  65
5.5  付諸行動  66
第二部分  從大局看調試第6 章 發(fā)現(xiàn)代碼存在問題  68
6.1  追蹤缺陷   68
6.1.1  缺陷追蹤系統(tǒng)   68
6.1.2  怎樣才能寫出一份出色的缺陷報告  69
6.1.3  環(huán)境和配置報告  70
6.2  與用戶合作  72
6.2.1  ?化流程  72
6.2.2  有效的溝通  73
6.3  與支持人員協(xié)同工作  77
6.4  付諸行動  78
第7 章  務實的零容忍策略  79
7.1  缺陷優(yōu)先  79
7.1.1  早期缺陷修復可以大大降低軟件運行的不確定性   79
7.1.2  沒有破窗戶  80
7.2  調試的思維模式  81
7.3  自己來解決質量問題  83
7.3.1  這里沒有“靈丹妙藥”    83
7.3.2  停止開發(fā)那些有缺陷的程序   84
7.3.3  從“不干凈”?代碼中將“干凈”的代碼分離出來  84
7.3.4  錯誤分類  85
7.3.5  缺陷閃電戰(zhàn)  86
7.3.6  專項小組  87
7.4  付諸行動  87
第三部分 深入調試技術第8 章 特殊案例  90
8.1  修補已經(jīng)發(fā)布的軟件  90
8.2  向后兼容  91
8.2.1  確定你的代碼有問題  92
8.2.2  解決兼容性問題  93
8.3  并發(fā)  95
8.3.1  簡單與控制  95
8.3.2  修復并發(fā)缺陷   96
8.4  海森堡缺陷  97
8.5  性能缺陷  98
8.5.1  尋找瓶頸.  99
8.5.2  準確的性能分析  99
8.6  嵌 入式軟件  100
8.6.1  嵌入式調試工具  100
8.6.2  提取信息的痛苦路程   102
8.7  第三方軟件的缺陷  102
8.7.1  不要太快去指責  103
8.7.2  處理第三方代碼的缺陷   103
8.7.3  開源代碼  104
8.8  付諸行動  106
第9 章  理想的調試環(huán)境   107
9.1  自動化測試  107
9.1.1  有效的自動化測試  107
9.1.2  自動化測試可以作為調試的輔助  108
9.1.3  模擬測試、樁測試以及其他的代替測試技術   109
9.2  源程序控制  110
9.2.1  穩(wěn)定性  110
9.2.2  可維護性  111
9.2.3  與分支相關的問題  111
9.2.4  控制分支  112
9.3  自動構建  113
9.3.1  一鍵構建  114
9.3.2  構建機器  115
9.3.3  持續(xù)集成  115
9.3.4  創(chuàng)建版本  116
9.3.5  靜態(tài)分析  117
9.3.6  使用靜態(tài)分析  119
9.4  付諸行動   120
第10 章  讓軟件學會自己尋找缺陷   121
10.1  假設和斷言  121
10.1.1  一個例子  122
10.1.2  等一下——剛才發(fā)生了什么  124
10.1.3  例子,第二幕   124
10.1.4  契約,先決條件,后置條件和不變量  125
10.1.5  開啟或關閉斷言   125
10.1.6  防錯性程序設計  126
10.1.7  斷言濫用  128
10.2  調試版本  129
10.2.1  編譯器選項   130
10.2.2  調試子系統(tǒng)   130
10.2.3  內置控制  132
10.3  資源泄漏和異常處理   133
10.3.1  在測試中自動拋出異?! ?33
10.3.2  一個例子  134
10.3.3  測試框架  136
10.4  付諸行動  139
第11 章  反模式  140
11.1  夸大優(yōu)先級  140
11.2  超級巨星  141
11.3  維護團隊  142
11.4  救火模式     144
11.5  重寫  145
11.6  沒有代碼所有權  146
11.7  魔法  146
11.8  付諸行動  147
附錄A  資源  148
附錄B  參考書目  157

本目錄推薦

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