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

軟件調(diào)試

軟件調(diào)試

定 價(jià):¥128.00

作 者: 張銀奎
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 軟件測(cè)試及維護(hù)

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


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

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

  圍繞如何實(shí)現(xiàn)高效調(diào)試這一主題,本書(shū)深入系統(tǒng)地介紹了以調(diào)試器為核心的各種軟件調(diào)試技術(shù)。本書(shū)共30章,分為6篇。第1篇介紹了軟件調(diào)試的概況和簡(jiǎn)要?dú)v史。第2篇以英特爾架構(gòu)(IA)的CPU為例,介紹了計(jì)算機(jī)系統(tǒng)的硬件核心所提供的調(diào)試支持,包括異常、斷點(diǎn)指令、單步執(zhí)行標(biāo)志、分支監(jiān)視、JTAG和MCE等。第3篇以Windows操作系統(tǒng)為例,介紹了計(jì)算機(jī)系統(tǒng)的軟件核心中的調(diào)試設(shè)施,包括內(nèi)核調(diào)試引擎、用戶態(tài)調(diào)試子系統(tǒng)、異常處理、驗(yàn)證器、錯(cuò)誤報(bào)告、事件追蹤、故障轉(zhuǎn)儲(chǔ)、硬件錯(cuò)誤處理等。第4篇以Visual C/C++編譯器為例,介紹了生產(chǎn)軟件的主要工具的調(diào)試支持,重點(diǎn)討論了編譯期檢查、運(yùn)行期檢查及調(diào)試符號(hào)。第5篇討論了軟件的可調(diào)試性,探討了如何在軟件架構(gòu)設(shè)計(jì)和軟件開(kāi)發(fā)過(guò)程中加入調(diào)試支持,使軟件更容易被調(diào)試。在前5篇內(nèi)容的基礎(chǔ)上,第6篇首先介紹了調(diào)試器的發(fā)展歷史、典型功能和實(shí)現(xiàn)方法,然后全面介紹了WinDBG調(diào)試器,包括它的模塊結(jié)構(gòu)、工作模型、使用方法和主要調(diào)試功能的實(shí)現(xiàn)細(xì)節(jié)。本書(shū)是對(duì)軟件調(diào)試技術(shù)在過(guò)去50年中所取得成就的全面展示,也是對(duì)作者本人在軟件設(shè)計(jì)和系統(tǒng)開(kāi)發(fā)第一線奮戰(zhàn)10多年的經(jīng)驗(yàn)總結(jié)。本書(shū)理論與實(shí)踐緊密結(jié)合,選取了大量具有代表性和普遍意義的技術(shù)細(xì)節(jié)進(jìn)行討論,是學(xué)習(xí)軟件調(diào)試技術(shù)的寶貴資料,適合每一位希望深刻理解軟件和自由駕馭軟件的人閱讀,特別是從事軟件開(kāi)發(fā)、測(cè)試、支持的技術(shù)人員和有關(guān)的研究人員。

作者簡(jiǎn)介

暫缺《軟件調(diào)試》作者簡(jiǎn)介

圖書(shū)目錄

第1篇  緒論    1
第1章  軟件調(diào)試基礎(chǔ)    3
1.1  簡(jiǎn)介    3
1.2  基本特征    6
1.3  簡(jiǎn)要?dú)v史    8
1.4  分類(lèi)    12
1.5  調(diào)試技術(shù)概覽    15
1.6  錯(cuò)誤與缺欠    20
1.7  與軟件工程的關(guān)系    24
1.8  本章總結(jié)    26
第2篇  CPU的調(diào)試支持    27
第2章  CPU基礎(chǔ)    29
2.1  指令和指令集    29
2.2  IA-32處理器    32
2.3  CPU的操作模式    38
2.4  寄存器    40
2.5  理解保護(hù)模式    46
2.6  段機(jī)制    50
2.7  分頁(yè)機(jī)制(Paging)    55
2.8  系統(tǒng)概貌    62
2.9  本章總結(jié)    64
第3章  中斷和異常    65
3.1  概念和差異    65
3.2  異常的分類(lèi)    67
3.3  異常例析    69
3.4  中斷/異常優(yōu)先級(jí)    72
3.5  中斷/異常處理    73
3.6  本章總結(jié)    74
第4章  斷點(diǎn)和單步執(zhí)行    75
4.1  軟件斷點(diǎn)    75
4.2  硬件斷點(diǎn)    83
4.3  陷阱標(biāo)志    95
4.4  實(shí)模式調(diào)試器例析    100
4.5  本章總結(jié)    105
第5章  分支記錄和性能監(jiān)視    107
5.1  分支監(jiān)視概覽    107
5.2  使用寄存器的分支記錄    108
5.3  使用內(nèi)存的分支記錄    113
5.4  DS示例:CpuWhere    117
5.5  性能監(jiān)視    123
5.6  本章總結(jié)    132
第6章  機(jī)器檢查架構(gòu)(MCA)    133
6.1  奔騰處理器的機(jī)器檢查機(jī)制    134
6.2  MCA    135
6.3  編寫(xiě)MCA軟件    141
6.4  本章總結(jié)    145
第7章  JTAG調(diào)試    147
7.1  簡(jiǎn)介    147
7.2  JTAG原理    149
7.3  JTAG應(yīng)用    154
7.4  IA-32處理器的JTAG支持    156
7.5  本章總結(jié)    161
第3篇  操作系統(tǒng)的調(diào)試支持    163
第8章  Windows概要    165
8.1  簡(jiǎn)介    165
8.2  進(jìn)程和進(jìn)程空間    167
8.3  內(nèi)核模式和用戶模式    176
8.4  架構(gòu)和系統(tǒng)部件    184
8.5  本章總結(jié)    192
第9章  用戶態(tài)調(diào)試模型    193
9.1  概覽    193
9.2  采集調(diào)試消息    196
9.3  發(fā)送調(diào)試消息    200
9.4  調(diào)試子系統(tǒng)服務(wù)器(XP之后)    203
9.5  調(diào)試子系統(tǒng)服務(wù)器(XP之前)    210
9.6  比較兩種模型    219
9.7  NTDLL中的調(diào)試支持例程    221
9.8  調(diào)試API    224
9.9  本章總結(jié)    226
第10章  用戶態(tài)調(diào)試過(guò)程    227
10.1  調(diào)試器進(jìn)程    227
10.2  被調(diào)試進(jìn)程    231
10.3  從調(diào)試器中啟動(dòng)被調(diào)試程序    234
10.4  附加到已經(jīng)啟動(dòng)的進(jìn)程    240
10.5  處理調(diào)試事件    243
10.6  中斷到調(diào)試器    251
10.7  輸出調(diào)試字符串    259
10.8  終止調(diào)試會(huì)話    266
10.9  本章總結(jié)    271
第11章  中斷和異常管理    273
11.1  中斷描述符表    273
11.2  異常的描述和登記    280
11.3  異常分發(fā)過(guò)程    284
11.4  結(jié)構(gòu)化異常處理(SEH)    290
11.5  向量化異常處理(VEH)    302
11.6  本章總結(jié)    308
第12章  未處理異常和JIT調(diào)試    309
12.1  簡(jiǎn)介    309
12.2  默認(rèn)的異常處理器    311
12.3  未處理異常過(guò)濾函數(shù)    318
12.4  應(yīng)用程序錯(cuò)誤對(duì)話框    328
12.5  JIT調(diào)試和Dr. Watson    334
12.6  頂層異常過(guò)濾函數(shù)    340
12.7  Dr. Watson    343
12.8  DRWTSN32的日志文件    347
12.9  用戶態(tài)轉(zhuǎn)儲(chǔ)文件    351
12.10  本章總結(jié)    357
第13章  硬錯(cuò)誤和藍(lán)屏    359
13.1  硬錯(cuò)誤提示    359
13.2  藍(lán)屏終止(BSOD)    366
13.3  系統(tǒng)轉(zhuǎn)儲(chǔ)文件    371
13.4  分析系統(tǒng)轉(zhuǎn)儲(chǔ)文件    374
13.5  輔助的錯(cuò)誤提示方法    380
13.6  配置錯(cuò)誤提示機(jī)制    384
13.7  防止濫用錯(cuò)誤提示機(jī)制    389
13.8  本章總結(jié)    390
第14章  錯(cuò)誤報(bào)告    391
14.1  WER 1.0    392
14.2  系統(tǒng)錯(cuò)誤報(bào)告    395
14.3  WER服務(wù)器端    397
14.4  WER 2.0    399
14.5  CER    403
14.6  本章總結(jié)    404
第15章  日志    405
15.1  日志簡(jiǎn)介    405
15.2  ELF的架構(gòu)    406
15.3  ELF的數(shù)據(jù)組織    409
15.4  察看和使用ELF日志    413
15.5  CLFS的組成和原理    414
15.6  CLFS的使用方法    416
15.7  本章總結(jié)    420
第16章  事件追蹤    421
16.1  簡(jiǎn)介    421
16.2  ETW的架構(gòu)    422
16.3  提供ETW消息    424
16.4  控制ETW會(huì)話    425
16.5  消耗ETW消息    427
16.6  格式描述    428
16.7  NT Kernel Logger    432
16.8  Global Logger Session    436
16.9  Crimson API    440
16.10  本章總結(jié)    443
第17章  WHEA    445
17.1  目標(biāo)和架構(gòu)    445
17.2  錯(cuò)誤源    450
17.3  錯(cuò)誤處理過(guò)程    452
17.4  錯(cuò)誤持久化    457
17.5  注入錯(cuò)誤    459
17.6  本章總結(jié)    459

第18章  內(nèi)核調(diào)試引擎    461
18.1  概覽    462
18.2  連接    465
18.3  啟用    475
18.4  初始化    478
18.5  內(nèi)核調(diào)試協(xié)議    483
18.6  與內(nèi)核交互    492
18.7  建立和維持連接    502
18.8  本地內(nèi)核調(diào)試    509
18.9  本章總結(jié)    511
第19章  Windows的驗(yàn)證機(jī)制    513
19.1  簡(jiǎn)介    514
19.2  驅(qū)動(dòng)驗(yàn)證器的工作原理    515
19.3  使用驅(qū)動(dòng)驗(yàn)證器    521
19.4  應(yīng)用程序驗(yàn)證器的工作原理    526
19.5  使用應(yīng)用程序驗(yàn)證器    533
19.6  本章總結(jié)    537
第4篇  編譯器的調(diào)試支持    539
第20章  編譯和編譯期檢查    541
20.1  程序的構(gòu)建過(guò)程    541
20.2  編譯    543
20.3  Visual C++編譯器    544
20.4  編譯錯(cuò)誤和警告    549
20.5  編譯期檢查    551
20.6  標(biāo)準(zhǔn)標(biāo)注語(yǔ)言    555
20.7  本章總結(jié)    558
第21章  運(yùn)行庫(kù)和運(yùn)行期檢查    559
21.1  C/C++運(yùn)行庫(kù)    559
21.2  鏈接運(yùn)行庫(kù)    562
21.3  運(yùn)行庫(kù)的初始化和清理    565
21.4  運(yùn)行期檢查    569
21.5  報(bào)告運(yùn)行期檢查錯(cuò)誤    574
21.6  本章總結(jié)    580
第22章  棧和函數(shù)調(diào)用    581
22.1  簡(jiǎn)介    581
22.2  棧的創(chuàng)建過(guò)程    585
22.3  CALL和RET指令    590
22.4  局部變量和棧幀    595
22.5  幀指針省略(FPO)    604
22.6  棧指針檢查    606
22.7  調(diào)用協(xié)定    609
22.8  ??臻g的增長(zhǎng)和溢出    616
22.9  棧下溢    623
22.10  緩沖區(qū)溢出    624
22.11  變量檢查    628
22.12  基于Cookie的安全檢查    636
22.13  本章總結(jié)    642
第23章  堆和堆檢查    643
23.1  理解堆    644
23.2  堆的創(chuàng)建和銷(xiāo)毀    646
23.3  分配和釋放堆塊    649
23.4  堆的內(nèi)部結(jié)構(gòu)    654
23.5  低碎片堆(LFH)    661
23.6  堆的調(diào)試支持    662
23.7  ?;厮輸?shù)據(jù)庫(kù)    666
23.8  堆溢出和檢測(cè)    670
23.9  頁(yè)堆    677
23.10  準(zhǔn)頁(yè)堆    683
23.11  CRT堆    688
23.12  CRT堆的調(diào)試堆塊    692
23.13  CRT堆的調(diào)試功能    698
23.14  堆塊轉(zhuǎn)儲(chǔ)    700
23.15  泄漏轉(zhuǎn)儲(chǔ)    704
23.16  本章總結(jié)    709
第24章  異常處理代碼的編譯    711
24.1  概覽    711
24.2  FS:[0]鏈條    713
24.3  遍歷FS:[0]鏈條    716
24.4  執(zhí)行異常處理函數(shù)    721
24.5  __try{}__except()結(jié)構(gòu)    724
24.6  安全問(wèn)題    732
24.7  本章總結(jié)    737

第25章  調(diào)試符號(hào)    739
25.1  名稱修飾    739
25.2  調(diào)試信息的存儲(chǔ)格式    742
25.3  目標(biāo)文件中的調(diào)試信息    745
25.4  PE文件中的調(diào)試信息    753
25.5  DBG文件    762
25.6  PDB文件    764
25.7  有關(guān)的編譯和鏈接選項(xiàng)    771
25.8  PDB文件中的數(shù)據(jù)表    775
25.9  本章總結(jié)    780
第5篇  可調(diào)試性    781
第26章  可調(diào)試性概覽    783
26.1  簡(jiǎn)介    783
26.2  Showstopper和未雨綢繆    784
26.3  基本原則    787
26.4  不可調(diào)試代碼    792
26.5  可調(diào)試性例析    794
26.6  與安全、性能和商業(yè)秘密的關(guān)系    798
26.7  本章總結(jié)    799
第27章  可調(diào)試性的實(shí)現(xiàn)    801
27.1  角色和職責(zé)    801
27.2  可調(diào)試架構(gòu)    804
27.3  通過(guò)?;厮輰?shí)現(xiàn)可追溯性    808
27.4  數(shù)據(jù)的可追溯性    815
27.5  可觀察性的實(shí)現(xiàn)    821
27.6  自檢和自動(dòng)報(bào)告    830
27.7  本章總結(jié)    832
第6篇  調(diào)試器    833
第28章  調(diào)試器概覽    835
28.1  TX-0計(jì)算機(jī)和FLIT調(diào)試器    835
28.2  小型機(jī)和DDT調(diào)試器    837
28.3  個(gè)人計(jì)算機(jī)和它的調(diào)試器    841
28.4  調(diào)試器的功能    845
28.5  分類(lèi)標(biāo)準(zhǔn)    852
28.6  實(shí)現(xiàn)模型    853
28.7  經(jīng)典架構(gòu)    859
28.8  HPD標(biāo)準(zhǔn)    862
28.9  本章總結(jié)    866
第29章  WinDBG及其實(shí)現(xiàn)    867
29.1  WinDBG溯源    867
29.2  C階段的架構(gòu)    872
29.3  重構(gòu)    875
29.4  調(diào)試器引擎的架構(gòu)    881
29.5  調(diào)試目標(biāo)    887
29.6  調(diào)試會(huì)話    892
29.7  接收和處理命令    899
29.8  本章總結(jié)    904
第30章  WinDBG用法詳解    905
30.1  工作空間    905
30.2  命令概覽    908
30.3  用戶界面    911
30.4  輸入和執(zhí)行命令    916
30.5  建立調(diào)試會(huì)話    923
30.6  終止調(diào)試會(huì)話    927
30.7  理解上下文    930
30.8  調(diào)試符號(hào)    933
30.9  事件處理    944
30.10  控制調(diào)試目標(biāo)    951
30.11  單步執(zhí)行    955
30.12  使用斷點(diǎn)    962
30.13  控制進(jìn)程和線程    969
30.14  觀察棧    973
30.15  分析內(nèi)存    978
30.16  遍歷鏈表    987
30.17  調(diào)用目標(biāo)程序的函數(shù)    992
30.18  命令程序    994
30.19  本章總結(jié)    997
附錄A  示例程序列表    999
附錄B  WinDBG標(biāo)準(zhǔn)命令列表    1003
索引    1005

本目錄推薦

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