張銀奎,國內知名的調試技術專傢。畢業於上海交通大學信息與控製工程係,長期從事軟件開發和研究工作,曾在英特爾工作13 年,對 IA-32 架構、操作係統內核、驅動程序,尤其是對軟件調試有較深入的研究。著有《軟件調試》《格蠹匯編》等暢銷、常銷技術圖書, 格蠹科技(xedge.ai) 創始人,高端調試網站(advdbg.org)創建者。翻譯(閤譯)作品有《二十一世紀機器人》《觀止——微軟創建NT和未來的奪命狂奔》《數據挖掘原理》《機器學習》《人工智能:復雜問題求解的結構和策略》等。
第 一篇 緒論
第1章 軟件調試基礎 3
1.1 簡介 3
1.2 基本特徵 5
1.3 簡要曆史 8
1.4 分類 12
1.5 調試技術概覽 15
1.6 錯誤與缺欠 19
1.7 重要性 23
1.8 本章小結 26
參考資料 26
第二篇 CPU及其調試設施
第 2章 CPU基礎 29
2.1 指令和指令集 29
2.2 英特爾架構處理器 33
2.3 CPU的操作模式 42
2.4 寄存器 44
2.5 理解保護模式 50
2.6 段機製 54
2.7 分頁機製 59
2.8 PC係統概貌 73
2.9 ARM架構基礎 75
2.10 本章小結 90
參考資料 90
第3章 中斷和異常 91
3.1 概念和差異 91
3.2 異常的分類 93
3.3 異常例析 95
3.4 中斷/異常的優先級 99
3.5 中斷/異常處理 100
3.6 ARM架構中的異常機製 110
3.7 本章小結 112
參考資料 113
第4章 斷點和單步執行 114
4.1 軟件斷點 114
4.2 硬件斷點 123
4.3 陷阱標誌 135
4.4 實模式調試器例析 140
4.5 反調試示例 145
4.6 ARM架構的斷點支持 147
4.7 本章小結 156
參考資料 157
第5章 分支記錄和性能監視 158
5.1 分支監視概覽 159
5.2 使用寄存器的分支記錄 159
5.3 使用內存的分支記錄 166
5.4 DS示例:CpuWhere 169
5.5 性能監視 180
5.6 實時指令追蹤 188
5.7 ARM架構的性能監視設施 192
5.8 本章小結 195
參考資料 195
第6章 機器檢查架構 196
6.1 奔騰處理器的機器檢查機製 196
6.2 MCA 198
6.3 編寫MCA軟件 205
6.4 本章小結 212
參考資料 212
第7章 JTAG調試 213
7.1 簡介 213
7.2 JTAG原理 215
7.3 JTAG應用 219
7.4 IA處理器的JTAG支持 221
7.5 ARM處理器的JTAG支持 227
7.6 本章小結 232
參考資料 233
第三篇 GPU及其調試設施
第8章 GPU基礎 237
8.1 GPU簡史 237
8.2 設備身份 243
8.3 軟件接口 244
8.4 GPU驅動模型 247
8.5 編程技術 250
8.6 調試設施 252
8.7 本章小結 254
參考資料 255
第9章 Nvidia GPU及其調試設施 256
9.1 概要 256
9.2 微架構 257
9.3 硬件指令集 268
9.4 PTX指令集 279
9.5 CUDA 286
9.6 異常和陷阱 293
9.7 係統調用 296
9.8 斷點指令 299
9.9 Nsight的斷點功能 301
9.10 數據斷點 304
9.11 調試符號 306
9.12 CUDA GDB 307
9.13 CUDA調試器API 308
9.14 本章小結 312
參考資料 312
第10章 AMD GPU及其調試設施 314
10.1 演進簡史 314
10.2 Terascale微架構 315
10.3 GCN微架構 318
10.4 GCN指令集 323
10.5 編程模型 325
10.6 異常和陷阱 327
10.7 控製波陣的調試接口 330
10.8 地址監視 332
10.9 單步調試支持 333
10.10 根據調試條件實現分支跳轉的指令 335
10.11 代碼斷點 335
10.12 GPU調試模型和開發套件 337
10.13 ROCm-GDB 340
10.14 本章小結 341
參考資料 342
第11章 英特爾GPU及其調試設施 343
11.1 演進簡史 343
11.2 GEN微架構 348
11.3 寄存器接口 354
11.4 命令流和環形緩衝區 357
11.5 邏輯環上下文和執行列錶 360
11.6 GuC和通過GuC提交任務 365
11.7 媒體流水綫 368
11.8 EU指令集 372
11.9 內存管理 377
11.10 異常 379
11.11 斷點支持 381
11.12 單步執行 382
11.13 GT調試器 382
11.14 本章小結 386
參考資料 386
第12章 Mali GPU及其調試設施 387
12.1 概況 387
12.2 Midgard微架構 389
12.3 Bifrost微架構 393
12.4 Mali圖形調試器 395
12.5 Gator 396
12.6 Kbase驅動的調試設施 399
12.7 其他調試設施 403
12.8 缺少的調試設施 405
12.9 本章小結 406
參考資料 406
第13章 PowerVR GPU及其調試設施 407
13.1 概要 407
13.2 Rogue微架構 410
13.3 參考指令集 413
13.4 軟件模型和微內核 417
13.5 斷點支持 418
13.6 離綫編譯和反匯編 420
13.7 PVR-GDB 421
13.8 本章小結 423
參考資料 423
第14章 GPU綜述 424
14.1 比較 424
14.2 主要矛盾 425
14.3 發展趨勢 426
14.4 其他GPU 427
14.5 學習資料和工具 430
14.6 本章小結 432
參考資料 432
第四篇 可調試性
第 15章 可調試性概覽 435
15.1 簡介 435
15.2 觀止和未雨綢繆 436
15.3 基本原則 439
15.4 不可調試代碼 444
15.5 可調試性例析 446
15.5.1 健康性檢查和BSOD 447
15.6 與安全、商業秘密和性能的關係 449
15.7 本章小結 450
參考資料 451
第16章 可調試性的實現 452
16.1 角色和職責 452
16.2 可調試架構 455
16.3 通過棧迴溯實現可追溯性 459
16.4 數據的可追溯性 466
16.5 可觀察性的實現 472
16.5.1 狀態查詢 472
16.6 自檢和自動報告 480
16.7 本章小結 482
參考資料 483
· · · · · · (
收起)
本書堪稱是軟件調試的“百科全書”。作者圍繞軟件調試的“生態”係統(ecosystem)、異常(exception)和調試器 3 條主綫,介紹軟件調試的相關原理和機製,探討可調試性(debuggability)的內涵、意義以及實現軟件可調試性的原則和方法,總結軟件調試的方法和技巧。
第1捲主要圍繞硬件技術展開介紹。全書分為4篇,共16章。第一篇“緒論”(第1章),介紹瞭軟件調試的概念、基本過程、分類和簡要曆史,並綜述瞭本書後麵將詳細介紹的主要調試技術。第二篇“CPU及其調試設施”(第2~7章),以英特爾和ARM架構的CPU為例係統描述瞭CPU的調試支持。第三篇“GPU及其調試設施”(第8~14章),深入探討瞭Nvidia、AMD、英特爾、ARM和Imagination 這五大廠商的GPU。第四篇“可調試性”(第15~16章),介紹瞭提高軟件可調試性的意義、基本原則、實例和需要注意的問題,並討論瞭如何在軟件開發實踐中實現可調試性。
本書理論與實踐緊密結閤,既涵蓋瞭相關的技術背景知識,又針對大量具有代錶性和普遍意義的技術細節進行瞭討論,是學習軟件調試技術的寶貴資料。本書適閤所有從事軟件開發工作的讀者閱讀,特彆適閤從事軟件開發、測試、支持的技術人員,從事反病毒、網絡安全、版權保護等工作的技術人員,以及高等院校相關專業的教師和學生學習參考。
軟件調試 第2版 epub pdf mobi txt 電子書 下載 2024
軟件調試 第2版 下載 epub mobi pdf txt 電子書
評分
☆☆☆☆☆
##這本書我是在看瞭作者博客上的一些文章以後纔去看的,也看到一些罵人的帖子,本來我對國內的技術作者是不抱太大希望的,首先是因為很少有人能鑽研進去,其次是缺乏原創精神,再次是寫的題材都是國外嚼爛瞭的東西.站在書店大概看瞭一下,感覺不錯,於是買迴來看.優缺點都說說. 優點是:...
評分
☆☆☆☆☆
評分
☆☆☆☆☆
##為瞭便於大傢評估,特羅列齣一些公開的資源供參考: 1)瀏覽目錄 可以看上麵的,也可以點擊下麵的鏈接,查看更詳細的三級目錄: http://advdbg.org/books/swdbg/toc_3rd.aspx 2)讀一下簡介 下麵的網頁中包含瞭封底簡介和頁前簡介的詳細版本: http://advdbg.org/books/swdbg/a...
評分
☆☆☆☆☆
還沒看完, 的確對得起"著"這個字. 和Intel手冊對應著看, 對Intel的曆史瞭解的真多啊, 這不是Intel的員工看來還真不行. 目前最大的感受就是作者對Intel手冊詳細閱讀, 研究之後的一本讀後感. 如果能配上Intel中的圖就更好瞭, 總是覺得想看圖示的時候, 需要到Intel的手冊中去...
評分
☆☆☆☆☆
##這本書和《格蠹匯編》是姊妹篇,但是後者是案例分析,更加偏實際,這本書更加偏嚮理論,篇幅上洋洋灑灑1000餘頁,內容也頗見功力,很多東西我之前不知道、不瞭解,看瞭之後纔知曉。 這是我在簡書上的閱讀筆記(http://www.jianshu.com/p/6ed96f49422c),目前剛剛開始看,後麵...
評分
☆☆☆☆☆
評分
☆☆☆☆☆
##網名:woodhead001 鏈接:http://www.china-pub.com/member/bookpinglun/viewpinglun.asp?id=39884 絕對的一本好書,看瞭之後對應用程序的運行機理以及其與操作係統的交互都有一個深入的理解,除此之外,還有很多很多平時你的模糊或者灰色地帶都會被清除,讀過此書你的技術能...
評分
☆☆☆☆☆
評分
☆☆☆☆☆