TOP
英國出版界指標大獎肯定!A.F. Steadman 獲年度作家,《史坎德》系列帶你踏上熱血奇幻旅程
軟件調試(第2版)‧卷2:Windows平臺調試(全2冊)(簡體書)
滿額折

軟件調試(第2版)‧卷2:Windows平臺調試(全2冊)(簡體書)

商品資訊

人民幣定價:199 元
定價
:NT$ 1194 元
優惠價
871039
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :31 點
商品簡介
作者簡介
目次

商品簡介

本書是國內當前集中介紹軟件調試主題的權威著作。本書第2 卷分為5 篇,共30 章,主要圍繞Windows系統展開介紹。第一篇(第1~4 章)介紹Windows 系統簡史、進程和線程、架構和系統部件,以及Windows系統的啟動過程,既從空間角度講述Windows 的軟件世界,也從時間角度描述Windows 世界的搭建過程。第二篇(第5~8 章)描述特殊的過程調用、墊片、託管世界和Linux 子系統。第三篇(第9~19 章)深入探討用戶態調試模型、用戶態調試過程、中斷和異常管理、未處理異常和JIT 調試、硬錯誤和藍屏、錯誤報告、日誌、事件追蹤、WHEA、內核調試引擎和驗證機制。第四篇(第20~25 章)從編譯和編譯期檢查、運行時庫和運行期檢查、棧和函數調用、堆和堆檢查、異常處理代碼的編譯、調試符號等方面概括編譯器的調試支持。第五篇(第26~30 章)首先縱覽調試器的發展歷史、工作模型和經典架構,然後分別討論集成在Visual Studio 和Visual Studio(VS)Code 中的調試器,最後深度解析WinDBG 調試器的歷史、結構和用法。本書理論與實踐結合,不僅涵蓋了相關的技術背景知識,還深入研討了大量具有代表性的技術細節,是學習軟件調試技術的珍貴資料。本書適合所有從事軟件開發工作的讀者閱讀,特別適合從事軟件開發、測試和支持的技術人員閱讀。

作者簡介

張銀奎,國內知名的調試技術專家。畢業於上海交通大學信息與控制工程系,長期從事軟件開發和研究工作,曾在英特爾工作13 年,對 IA-32 架構、操作系統內核、驅動程序,尤其是對軟件調試有較深入的研究。著有《軟件調試》《格蠹彙編》等暢銷、常銷技術圖書,格蠹科技(xedge.ai)創始人,高端調試網站(advdbg.org)創建者。翻譯(合譯)作品有《二十一世紀機器人》《觀止――微軟創建NT 和未來的奪命狂奔》《數據挖掘原理》《機器學習》《人工智能:複雜問題求解的結構和策略》等。

目次

25.4.4 調試數據
25.4.5 使用WinDBG 觀察PE 文件中的調試信息
25.4.6 調試信息的產生過程
25.5 DBG 文件
25.5.1 從PE 文件產生DBG 文件
25.5.2 DBG 文件的佈局
25.6 PDB 文件
25.6.1 複合文件
25.6.2 PDB 文件佈局
25.6.3 PDB 簽名
25.6.4 Magic 代碼
25.6.5 PDB_HEADER
25.6.6 根數據流――流目錄
25.6.7 頁分配表
25.6.8 訪問PDB 文件的方式
25.6.9 PDB 文件的產生過程
25.7 有關的編譯和鏈接選項
25.7.1 控制調試信息的編譯選項
25.7.2 控制調試信息的鏈接選項
25.7.3 不同鏈接和編譯選項的比較
25.8 PDB 文件中的數據表
25.8.1 符號表
25.8.2 源文件表
25.8.3 節貢獻表
25.8.4 段信息表
25.8.5 注入源代碼表
25.8.6 幀數據表
25.9 本章總結
參考資料
第五篇 調 試 器
第 26 章 調試器概覽
26.1 TX-0 計算機和FLIT調試器
26.2 小型機和DDT調試器
26.2.1 PDP-1
26.2.2 TOPS-10 操作系統和
DDT-10
26.3 個人計算機和它的調試器
26.3.1 8086 Monitor
26.3.2 SYMDEB
26.3.3 CodeView調試器
26.3.4 Turbo Debugger
26.3.5 SoftICE
26.4 調試器的功能
26.4.1 建立和終止調試會話
26.4.2 控制被調試程序執行
26.4.3 訪問內存
26.4.4 訪問寄存器
26.4.5 斷點
26.4.6 跟蹤執行
26.4.7 觀察棧和棧回溯
26.4.8 彙編和反彙編
26.4.9 源代碼級調試..685
26.4.10 EnC
26.4.11 文件管理
26.4.12 接收和顯示調試信息
26.4.13 轉儲
26.5 分類標準
26.5.1 特權級別
26.5.2 操作系統
26.5.3 執行方式
26.5.4 處理器架構
26.5.5 編程語言688
26.6 實現模型
26.6.1 進程內調試模型
26.6.2 進程外調試模型
26.6.3 混合調試模型
26.6.4 內核調試模型
26.7 經典架構
26.7.1 基本單元
26.7.2 遠程調試
26.7.3 多語言和多處理器架構調試
26.8 HPD 標準
26.8.1 HPD 標準簡介
26.8.2 動作點
26.8.3 進程和線程的表示和命名
26.8.4 命令
26.9 本章總結
參考資料
第 27 章 VsDebug
27.1 架構和調試模型
27.1.1 架構概覽
27.1.2 遠程調試器
27.1.3 本地調試器
27.2 VS 調試引擎
27.2.1 一套接口,多種實現
27.2.2 核心類
27.3 工作過程
27.3.1 開始調試32 位本地程序
27.3.2 開始調試64 位本地程序
27.3.3 訪問調試目標
27.4 使用斷點
27.4.1 根據名稱設置斷點
27.4.2 數據斷點
27.4.3 附加條件
27.4.4 附加操作
27.5 多線程調試
27.5.1 並行棧回溯
27.5.2 並行監視
27.5.3 凍結線程
27.6 EnC
27.6.1 應用過程
27.6.2 要求/ZI 編譯選項
27.6.3 下次調用生效
27.6.4 應用失敗
27.7 設計期調試
27.8 使用符號服務器
27.9 定制調試事件
27.9.1 初始斷點
27.9.2 異常設置
27.10 本章總結
參考資料
第 28 章 VS Code 的調試擴展
28.1 簡介
28.2 四大技術
28.3 理解“擴展包”
28.3.1 包類型
28.3.2 安裝
28.3.3 工作原理
28.4 擴展包API
28.4.1 貢獻點
28.4.2 命令
28.4.3 激活事件
28.5 調試模型
28.5.1 貢獻調試器
28.5.2 宏觀架構
28.6 調試適配器
28.6.1 DA 描述符工廠
28.6.2 進程內DA
28.6.3 vsdbg
28.6.4 OpenDebugAD7
28.7 機器接口
28.7.1 啟用用法
28.7.2 對話示例
28.7.3 MIEngine
28.8 調試Python 程序
28.8.1 PTVSD
28.8.2 發起異常時中斷
28.9 本章總結
參考資料
第 29 章 WinDBG 及其實現
29.1 WinDBG 溯源
29.1.1 KD 和NTSD 誕生
29.1.2 WinDBG 誕生
29.1.3 發行方式
29.1.4 版本歷史
29.2 C 階段的架構
29.2.1 功能模塊
29.2.2 遠程調試
29.3 重構
29.3.1 版本歷史
29.3.2 界面變化
29.3.3 模塊變化
29.3.4 發佈方式和NTSD 問題
29.3.5 文件
29.4 調試器引擎的架構
29.4.1 概覽
29.4.2 對外接口
29.4.3 DebugClient 類
29.4.4 中間層
29.4.5 服務層
29.4.6 傳輸和連接層
29.5 調試目標
29.5.1 TargetInfo 類
29.5.2 用戶態目標
29.5.3 內核態目標
29.5.4 轉儲文件目標
29.6 調試會話
29.6.1 建立調試會話
29.6.2 調試循環
29.6.3 等待和處理調試事件
29.6.4 繼續調試事件
29.6.5 結束調試會話
29.7 接收和處理命令
29.7.1 調試器的兩種工作狀態
29.7.2 進入命令狀態
29.7.3 執行命令
29.7.4 結束命令狀態
29.8 擴展命令的工作原理
29.9 本章總結
參考資料
第30 章 WinDBG 用法詳解
30.1 工作空間
30.2 命令概覽
30.2.1 標準命令
30.2.2 元命令
30.2.3 擴展命令
30.3 用戶界面
30.3.1 窗口概覽
30.3.2 命令窗口和命令提示符
30.4 輸入和執行命令
30.4.1 要點
30.4.2 表達式
30.4.3 偽寄存器
30.4.4 別名
30.4.5 循環和條件執行
30.4.6 進程限定符和線程限定符
30.4.7 記錄到文件
30.5 建立調試會話
30.5.1 附加到已經運行的進程
30.5.2 創建並調試新的進程
30.5.3 非入侵式調試
30.5.4 雙機內核調試
30.5.5 本地內核調試
30.5.6 調試轉儲文件
30.5.7 遠程調試
30.6 終止調試會話
30.6.1 停止調試
30.6.2 分離調試目標
30.6.3 拋棄被調試進程
30.6.4 終止被調試進程
30.6.5 調試器終止或僵死
30.6.6 重新開始調試
30.7 理解上下文
30.7.1 登錄會話上下文
30.7.2 進程上下文
30.7.3 寄存器上下文
30.7.4 局部(變量)上下文
30.8 調試符號
30.8.1 重要意義
30.8.2 符號搜索路徑
30.8.3 符號服務器
30.8.4 加載符號文件
30.8.5 觀察模塊信息
30.8.6 檢查符號
30.8.7 搜索符號
30.8.8 設置符號選項
30.8.9 加載不嚴格匹配的符號文件
30.9 事件處理
30.9.1 調試事件與異常的關係
30.9.2 兩輪機會
30.9.3 定制事件處理方式
30.9.4 GH 和GN 命令
30.9.5 實驗
30.10 控制調試目標
30.10.1 初始斷點
30.10.2 俘獲調試目標
30.10.3 繼續運行
30.11 單步執行
30.11.1 概覽
30.11.2 單步執行到指定地址
30.11.3 單步執行到下一個函數調用
30.11.4 單步執行到下一分支
30.11.5 追蹤並監視
30.11.6 程序指針飛躍
30.11.7 歸納
30.12 使用斷點
30.12.1 軟件斷點
30.12.2 硬件斷點
30.12.3 條件斷點
30.12.4 地址表達方法
30.12.5 設置針對線程的斷點
30.12.6 管理斷點
30.13 控制進程和線程
30.13.1 MulThrds 程序
30.13.2 控制線程執行824
30.13.3 多進程調試
30.14 觀察棧
30.14.1 顯示棧回溯
30.14.2 觀察棧變量
30.15 分析內存
30.15.1 顯示內存區域
30.15.2 顯示字符串
30.15.3 顯示數據類型
30.15.4 搜索內存
30.15.5 修改內存
30.15.6 使用物理內存地址
30.15.7 觀察內存屬性
30.16 遍歷鏈表
30.16.1 結構定義
30.16.2 雙向鏈表示例
30.16.3 單向鏈表示例
30.16.4 dl 命令
30.16.5 !list 命令
30.17 調用目標程序的函數
30.17.1 調用示例
30.17.2 工作原理
30.17.3 限制條件和常見錯誤.
30.18 命令程序
30.18.1 流程控制符號
30.18.2 變量
30.18.3 命令程序示例
30.18.4 執行命令程序
30.19 本章總結
參考資料
附錄A 示例程序列表
附錄B WinDBG 標準命令列表
附錄C NT 內核部件縮寫列表
持之若癡――代跋

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 1039
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區