注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)Effective Debugging:軟件和系統(tǒng)調(diào)試的66個(gè)有效方法

Effective Debugging:軟件和系統(tǒng)調(diào)試的66個(gè)有效方法

Effective Debugging:軟件和系統(tǒng)調(diào)試的66個(gè)有效方法

定 價(jià):¥59.00

作 者: (希)迪歐米迪斯·斯賓奈里斯(Diomidis,Spinellis)
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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


ISBN: 9787111568896 出版時(shí)間: 2017-06-01 包裝:
開(kāi)本: 頁(yè)數(shù): 字?jǐn)?shù):  

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

  本書(shū)共分8章。首先講解調(diào)試策略(第1章)、調(diào)試方法(第2章)以及調(diào)試時(shí)所用的工具與技巧(第3章),這些知識(shí)使我們能夠應(yīng)對(duì)各種軟件故障及系統(tǒng)故障。接下來(lái)討論在調(diào)試工作的各個(gè)階段所用到的具體技巧,也就是在使用調(diào)試器(第4章)、編寫(xiě)程序(第5章)、編譯軟件(第6章)以及運(yùn)行系統(tǒng)(第7章)時(shí)所用到的調(diào)試技巧。與多線程和并發(fā)有關(guān)的bug是很難尋找的,所以本書(shū)后專(zhuān)門(mén)用一章(第8章)來(lái)講解特定的調(diào)試工具及調(diào)試技術(shù),使大家能夠找出這些bug。

作者簡(jiǎn)介

暫缺《Effective Debugging:軟件和系統(tǒng)調(diào)試的66個(gè)有效方法》作者簡(jiǎn)介

圖書(shū)目錄


Contents 目  錄
譯者序
前言
致謝
第1章 宏觀策略 1
第1條:通過(guò)事務(wù)追蹤系統(tǒng)處理所有的問(wèn)題 1
第2條:在網(wǎng)上確切地查詢(xún)你所遇到的問(wèn)題,以尋求解決問(wèn)題的靈感 4
第3條:確保前置條件與后置條件都能夠得到滿足 6
第4條:從具體問(wèn)題入手向上追查bug,或從高層程序入手向下追查bug 7
第5條:在能夠正常運(yùn)作的系統(tǒng)與發(fā)生故障的系統(tǒng)之間尋找差別 9
第6條:使用軟件自身的調(diào)試機(jī)制 13
第7條:試著用多種工具構(gòu)建軟件,并將其放在不同的環(huán)境下執(zhí)行 16
第8條:把工作焦點(diǎn)放在最為重要的問(wèn)題上 20
第2章 通用的方法與做法 23
第9條:相信自己能夠把問(wèn)題調(diào)試好 23
第10條:高效地重現(xiàn)程序中的問(wèn)題 26
第11條:修改完代碼之后,要能夠盡快看到結(jié)果 29
第12條:將復(fù)雜的測(cè)試場(chǎng)景自動(dòng)化 30
第13條:使自己盡可能多地觀察到與調(diào)試有關(guān)的數(shù)據(jù) 32
第14條:考慮對(duì)軟件進(jìn)行更新 34
第15條:查看第三方組件的源代碼,以了解其用法 35
第16條:使用專(zhuān)門(mén)的監(jiān)測(cè)及測(cè)試設(shè)備 37
第17條:使故障更加突出 40
第18條:從自己的桌面計(jì)算機(jī)上調(diào)試那些不太好用的系統(tǒng) 42
第19條:使調(diào)試任務(wù)自動(dòng)化 44
第20條:開(kāi)始調(diào)試之前與調(diào)試完畢之后都要把程序清理干凈 46
第21條:把屬于同一個(gè)類(lèi)型的所有問(wèn)題全都修復(fù)好 47
第3章 通用的工具與技術(shù) 49
第22條:用Unix命令行工具對(duì)調(diào)試數(shù)據(jù)進(jìn)行分析 49
第23條:掌握命令行工具的各種選項(xiàng)及習(xí)慣用法 55
第24條:用編輯器對(duì)調(diào)試程序時(shí)所需的數(shù)據(jù)進(jìn)行瀏覽 57
第25條:優(yōu)化工作環(huán)境 59
第26條:用版本控制系統(tǒng)尋找bug發(fā)生的原因及經(jīng)過(guò) 64
第27條:用工具監(jiān)測(cè)由多個(gè)獨(dú)立程序所構(gòu)成的系統(tǒng) 67
第4章 調(diào)試器的使用技巧 71
第28條:編譯代碼時(shí)把符號(hào)信息包含進(jìn)來(lái),以便于調(diào)試 72
第29條:對(duì)代碼進(jìn)行單步調(diào)試 76
第30條:設(shè)置代碼斷點(diǎn)和數(shù)據(jù)斷點(diǎn) 77
第31條:了解反向調(diào)試功能 80
第32條:查看例程之間的相互調(diào)用情況 83
第33條:查看變量及表達(dá)式的值,以尋找程序中的錯(cuò)誤 84
第34條:了解怎樣把調(diào)試器連接到正在運(yùn)行的進(jìn)程上 87
第35條:了解怎樣運(yùn)用核心轉(zhuǎn)儲(chǔ)信息來(lái)進(jìn)行調(diào)試 89
第36條:把調(diào)試工具設(shè)置好 92
第37條:學(xué)會(huì)查看匯編代碼及原始內(nèi)存 95
第5章 編程技術(shù) 100
第38條:對(duì)可疑的代碼進(jìn)行評(píng)審,并手工演練這些代碼 100
第39條:審讀代碼并與同事討論 102
第40條:給軟件添加調(diào)試機(jī)制 103
第41條:添加日志語(yǔ)句 107
第42條:對(duì)軟件進(jìn)行單元測(cè)試 111
第43條:用斷言進(jìn)行調(diào)試 114
第44條:改動(dòng)受測(cè)程序,以驗(yàn)證自己的推想 118
第45條:盡量縮小正確范例與錯(cuò)誤代碼之間的差距 119
第46條:簡(jiǎn)化可疑代碼 120
第47條:將可疑代碼改用另外一種編程語(yǔ)言來(lái)寫(xiě) 123
第48條:改善可疑代碼的可讀性與結(jié)構(gòu) 124
第49條:要清除bug的根源,而不僅僅消除其癥狀 128
第6章 編譯時(shí)的調(diào)試技術(shù) 130
第50條:對(duì)生成的代碼進(jìn)行檢視 130
第51條:使用靜態(tài)程序分析工具 133
第52條:對(duì)項(xiàng)目進(jìn)行配置,令程序能夠以固定的方式構(gòu)建和執(zhí)行 138
第53條:對(duì)調(diào)試所用程序庫(kù)及構(gòu)建代碼時(shí)所應(yīng)執(zhí)行的檢查進(jìn)行配置 141
第7章 運(yùn)行時(shí)的調(diào)試技術(shù) 147
第54條:通過(guò)構(gòu)建測(cè)試用例來(lái)尋找錯(cuò)誤 147
第55條:令軟件在遇到問(wèn)題時(shí)盡早退出 151
第56條:檢視應(yīng)用程序的日志文件 152
第57條:對(duì)系統(tǒng)和進(jìn)程所執(zhí)行的操作進(jìn)行性能評(píng)測(cè) 156
第58條:追蹤程序的執(zhí)行情況 160
第59條:使用動(dòng)態(tài)程序分析工具 166
第8章 調(diào)試多線程的代碼 169
第60條:通過(guò)事后調(diào)試來(lái)分析死鎖問(wèn)題 169
第61條:捕獲并重現(xiàn) 176
第62條:用專(zhuān)門(mén)的工具來(lái)探查死鎖與競(jìng)爭(zhēng)條件問(wèn)題 180
第63條:把不確定的因素隔離出來(lái),或?qū)⑵湟瞥? 186
第64條:檢查資源爭(zhēng)用情況,以解決與可伸縮性有關(guān)的問(wèn)題 188
第65條:用性能計(jì)數(shù)器尋找偽共享問(wèn)題 191
第66條:考慮用更為高級(jí)的抽象機(jī)制來(lái)重寫(xiě)代碼 195
網(wǎng)上資源 203

本目錄推薦

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