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

軟件調(diào)試修煉之道

軟件調(diào)試修煉之道

定 價:¥32.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第一部分  問題的核心
第1 章  山重水復(fù)疑無路  2
1.1  調(diào)試不僅是排除缺陷  2
1.2  實證方法  4
1.3  核心調(diào)試過程  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  不要急于動手——試試科學(xué)的方法  30
3.2  相關(guān)策略  35
3.2.1  插樁  36
3.2.2  分而治之  37
3.2.3  利用源代碼控制工具   38
3.2.4  聚焦差異  39
3.2.5  向他人學(xué)習  39
3.2.6  奧卡姆的剃刀  40
3.3  調(diào)試器  40
3.4  陷阱  41
3.4.1  你做的修改是正確的嗎  41
3.4.2  驗證假設(shè)  42
3.4.3  多重原因  43
3.4.4  流沙  44
3.5  思維游戲    45
3.5.1  旁觀調(diào)試法  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 章  修復(fù)缺陷  51
4.1  清除障礙  51
4.2  測試  52
4.3  修復(fù)問題產(chǎn)生的原因,而非修復(fù)現(xiàn)  54
4.4  重構(gòu)  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  重構(gòu)  64
5.3.3  過程  65
5.4  關(guān)閉循環(huán)  65
5.5  付諸行動  66
第二部分  從大局看調(diào)試第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 章  務(wù)實的零容忍策略  79
7.1  缺陷優(yōu)先  79
7.1.1  早期缺陷修復(fù)可以大大降低軟件運行的不確定性   79
7.1.2  沒有破窗戶  80
7.2  調(diào)試的思維模式  81
7.3  自己來解決質(zhì)量問題  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
第三部分 深入調(diào)試技術(shù)第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ù)并發(fā)缺陷   96
8.4  海森堡缺陷  97
8.5  性能缺陷  98
8.5.1  尋找瓶頸.  99
8.5.2  準確的性能分析  99
8.6  嵌 入式軟件  100
8.6.1  嵌入式調(diào)試工具  100
8.6.2  提取信息的痛苦路程   102
8.7  第三方軟件的缺陷  102
8.7.1  不要太快去指責  103
8.7.2  處理第三方代碼的缺陷   103
8.7.3  開源代碼  104
8.8  付諸行動  106
第9 章  理想的調(diào)試環(huán)境   107
9.1  自動化測試  107
9.1.1  有效的自動化測試  107
9.1.2  自動化測試可以作為調(diào)試的輔助  108
9.1.3  模擬測試、樁測試以及其他的代替測試技術(shù)   109
9.2  源程序控制  110
9.2.1  穩(wěn)定性  110
9.2.2  可維護性  111
9.2.3  與分支相關(guān)的問題  111
9.2.4  控制分支  112
9.3  自動構(gòu)建  113
9.3.1  一鍵構(gòu)建  114
9.3.2  構(gòu)建機器  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 章  讓軟件學(xué)會自己尋找缺陷   121
10.1  假設(shè)和斷言  121
10.1.1  一個例子  122
10.1.2  等一下——剛才發(fā)生了什么  124
10.1.3  例子,第二幕   124
10.1.4  契約,先決條件,后置條件和不變量  125
10.1.5  開啟或關(guān)閉斷言   125
10.1.6  防錯性程序設(shè)計  126
10.1.7  斷言濫用  128
10.2  調(diào)試版本  129
10.2.1  編譯器選項   130
10.2.2  調(diào)試子系統(tǒng)   130
10.2.3  內(nèi)置控制  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  沒有代碼所有權(quán)  146
11.7  魔法  146
11.8  付諸行動  147
附錄A  資源  148
附錄B  參考書目  157

本目錄推薦

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