国产第1页_91在线亚洲_中文字幕成人_99久久久久久_五月宗合网_久久久久国产一区二区三区四区

讀書月攻略拿走直接抄!
歡迎光臨中圖網 請 | 注冊

包郵 高效C/C++調試

出版社:清華大學出版社出版時間:2024-01-01
開本: 其他 頁數: 332
中 圖 價:¥69.3(7.0折) 定價  ¥99.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

高效C/C++調試 版權信息

高效C/C++調試 本書特色

《高效C/C 調試》是一本精心編寫的實用指南,為軟件開發工程師提供了寶貴的調試技巧和知識。作者通過多年的一線經驗,深入講解了如何高效地調試軟件內存故障、理解C 對象模型、閱讀匯編代碼等重要內容。書中還介紹了調試器插件和工具的開發,拓展了開發者的視野。無論是初學者還是有經驗的開發人員,都能從本書中獲得實際的指導和啟發。豐富的實戰例子和代碼片段讓讀者更好地理解和應用所學知識。如果你想提升調試能力、掌握C/C 高級內容,并成為實戰資質的中高級開發人員,那么這本書絕對是你的不二選擇。

高效C/C++調試 內容簡介

《高效C/C++調試》是關于軟件調試技術的深度探索,融合了作者的實踐智慧。書中不僅指導讀者如何使用專業的調試工具,還介紹了如何宏觀和微觀地分析問題,并**限度地發揮調試器功能。此外,書中還深入解讀了調試背后的技術原理,如調試符號、內存管理及系統內核對內存的操作機制,以揭示內存管理的關鍵性和復雜性。 除了介紹基礎概念外,本書還涵蓋了許多增強調試能力的工具與插件。盡管焦點集中在C/C++,但其中的策略與技巧具有普適性,適用于多種編程語境。內容包括從內存泄漏預防調試、Linux下的eBPF和strace調試方法,到Kubernetes容器調試,再到C++20的協程與崩潰信息收集策略。 《高效C/C++調試》主要面向具有C/C++編程基礎的讀者,同時也非常適合對軟件技術原理有深入探索興趣的讀者以及追求高效調試技巧的開發人員。

高效C/C++調試 目錄


第1章 調試符號和調試器 1
1.1 調試符號 1
1.1.1 調試符號概覽 2
1.1.2 DWARF格式 3
1.2 實戰故事1:數據類型的不一致 14
1.3 調試器的內部結構 16
1.3.1 用戶界面 16
1.3.2 符號管理模塊 16
1.3.3 目標管理模塊 17
1.4 技巧和注意事項 21
1.4.1 特殊的調試符號 21
1.4.2 改變執行及其副作用 24
1.4.3 符號匹配的自動化 25
1.4.4 后期分析 26
1.4.5 內存保護 27
1.4.6 斷點不工作 27
1.5 本章小結 28
第2章 堆數據結構 29
2.1 理解內存管理器 30
2.1.1 ptmalloc 31
2.1.2 TCMalloc 34
2.1.3 多個堆 38
2.2 利用堆元數據 39
2.3 本章小結 42
第3章 內存損壞 43
3.1 內存是怎么損壞的 44
3.1.1 內存溢出與下溢 44
3.1.2 訪問釋放的內存 45
3.1.3 使用未初始化的值 46
3.2 調試內存損壞 47
3.2.1 初始調查 49
3.2.2 內存調試工具 53
3.2.3 堆與棧內存損壞對比 53
3.2.4 工具箱 54
3.3 實戰故事2:神秘的字節序轉換 55
3.3.1 癥狀 55
3.3.2 分析和調試 56
3.3.3 錯誤和有價值的點 64
3.4 實戰故事3:覆寫棧變量 65
3.4.1 癥狀 65
3.4.2 分析和調試 65
3.5 本章小結 68
第4章 C 對象布局 69
4.1 對齊和大小端 69
4.1.1 對齊 69
4.1.2 大小端 70
4.2 C 對象布局 71
4.3 實戰故事4:訪問已經釋放的數據 94
4.3.1 癥狀 94
4.3.2 分析和調試 94
4.4 搜索引用樹 95
4.5 本章小結 101
第5章 優化后的二進制 102
5.1 調試版和發行版的區別 102
5.2 調試優化代碼的挑戰 106
5.3 匯編代碼介紹 108
5.3.1 寄存器 109
5.3.2 指令集 111
5.3.3 程序匯編的結構 113
5.3.4 函數調用習慣 116
5.4 分析優化后的代碼 127
5.5 調試優化后的代碼示例 130
5.6 本章小結 141
第6章 進程鏡像 142
6.1 二進制文件格式 144
6.2 運行期加載和鏈接 148
6.3 進程映射表 153
6.3.1 可執行文件 154
6.3.2 共享庫 156
6.3.3 線程棧 157
6.3.4 無名區域 157
6.3.5 攔截 158
6.3.6 鏈接時替換 158
6.3.7 預先加載代理函數 159
6.3.8 修改導入和導出表 159
6.3.9 對目標函數進行手術改變 164
6.3.10 核心轉儲文件格式 166
6.3.11 核心轉儲文件分析工具 169
6.4 本章小結 170
第7章 調試多線程程序 171
7.1 競爭條件 171
7.2 它是競爭條件嗎 172
7.3 調試競爭條件 174
7.4 實戰故事5:記錄重要區域 175
7.4.1 癥狀 175
7.4.2 分析調試 175
7.5 死鎖 177
7.6 本章小結 179
第8章 更多調試方法 180
8.1 重現錯誤 180
8.1.1 歸因 181
8.1.2 收集環境信息 182
8.1.3 重建環境 184
8.2 防止未來的bug 184
8.2.1 知識保留和傳遞 185
8.2.2 增強提前檢查 185
8.2.3 編寫更好調試的代碼 185
8.3 不要忘記這些調試規則 189
8.3.1 分治法 189
8.3.2 退一步,獲取新的觀點 189
8.3.3 保留調試歷史 190
8.4 逆向調試 190
8.4.1 rr:Record and Replay 191
8.4.2 rr注意事項 191
8.5 本章小結 192
第9章 拓展調試器能力 193
9.1 使用Python拓展GDB 193
9.1.1 美化輸出 194
9.1.2 編寫自己的美觀打印器 195
9.1.3 將重復的工作變成一個命令 197
9.1.4 更快地調試bug 198
9.1.5 使用Python設置斷點 200
9.1.6 通過命令行來啟動程序和設置斷點 203
9.2 GDB自定義命令 203
9.3 本章小結 206
第10章 內存調試工具 207
10.1 ptmalloc’s MALLOC_CHECK_ 208
10.2 Google Address Sanitizer 212
10.3 AccuTrak 213
10.4 有效地調試內存損壞 225
10.5 實戰故事6:內存管理器的崩潰問題 228
10.5.1 癥狀 229
10.5.2 分析和調試 229
10.6 本章小結 235
第11章 Core Analyzer 236
11.1 使用示例 237
11.2 主要功能 239
11.2.1 搜索引用的對象(水平搜索) 239
11.2.2 查詢地址及其底層對象(垂直搜索) 240
11.2.3 內存模式分析 241
11.2.4 查詢堆內存塊 242
11.2.5 堆遍歷(檢查整個堆以發現損壞并獲取內存使用統計) 242
11.3 本章小結 246
第12章 更多調試工具 247
12.1 strace 247
12.1.1 常用功能 247
12.1.2 常用附加選項 248
12.2 實戰故事7:僵尸進程 248
12.2.1 遇到難題 248
12.2.2 揭示bug的真相 249
12.3 Perf 249
12.4 eBPF 250
12.4.1 準備環境 251
12.4.2 編寫代碼 251
12.4.3 編譯程序 252
12.4.4 加載和運行程序 254
12.5 實戰故事8:鏈接問題 255
12.5.1 切入 255
12.5.2 更奇怪的事情 258
12.5.3 柳暗花明 259
12.5.4 補充 260
12.5.5 結論 261
12.6 實戰故事9:臨時變量的生命周期 261
12.7 本章小結 264
第13章 崩潰發送機制 265
13.1 客戶端 266
13.2 遠程報告收集服務器 267
13.3 終端集成器 268
13.4 本章小結 268
第14章 內存泄漏 269
14.1 為什么RAII是基石 269
14.2 分析 270
14.3 調試內存泄漏 273
14.4 本章小結 275
第15章 協程 276
15.1 C 協程 277
15.2 協程的切分點 279
15.3 協程之諾 281
15.4 本章小結 283
第16章 遠程調試 284
16.1 GDB遠程調試 285
16.2 Visual Studio遠程調試 286
16.3 本章小結 287
第17章 容器世界 288
17.1 容器示例 288
17.2 容器應用 289
17.3 C/C 容器調試 291
17.4 實戰故事10:CrashLoopBackOff 292
17.5 實戰故事11:liveness failure 292
17.6 本章小結 294
第18章 盡量不要調試程序 295
18.1 借助編譯器來提前發現錯誤 295
18.2 編寫簡短的實驗代碼 295
18.3 日志和監控 296
18.3.1 日志 296
18.3.2 監控 297
18.4 遵循*佳編碼實踐 297
18.5 本章小結 298
附錄A 調試混合語言 299
附錄B 在Windows/x86環境下進行程序調試 301
B.1 PE文件格式 301
B.2 Windows Minidump格式 306
附錄C 一個簡單的C coroutine程序 309
展開全部

高效C/C++調試 作者簡介

嚴琦 畢業于中國科技大學和美國倫斯勒理工學院。 畢業后近三十年里曾先后任職于五家軟件技術公司從事技算機編程工作,從初級程序員成長為一個中等規模的軟件公司的首席架構師,涉及包括嵌入式系統,有限元分析,計算機輔助設計,商業智能系統等領域,致力于微處理器,編譯器,服務器,系統內核等技術。作者有多項開源項目在實際應用中受到公司內外的肯定和感謝,在工作中申請并獲批一項軟件專利,并有另一項專利在審批中。 盧憲廷 本科畢業于天津大學,研究生東南大學。目前在微策略軟件擔任高級軟件工程師,負責設計和開發優化企業全域搜索引擎;專注于高穩定/事件驅動異步架構/C /Rust編程。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 欧美牲交a欧美在线 | 午夜国产福利在线 | 欧美成人观看免费版 | 蜜桃臀无码内射一区二区三区 | 欧美一级在线播放 | 韩国特黄毛片一级毛片免费 | 男女扒开双腿猛进入免费看污 | 在线久综合色手机在线播放 | 久久亚洲精品ab无码播放 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片美女 | 精品国产情侣高潮露脸在线 | 欧美一级淫片a免费视频 | a毛片免费观看 | 免费一级毛片不卡在线播放 | 日本一级特黄毛片免费视频9 | 天天看黄色片 | 久久久久亚洲av成人无码 | 亚洲第一极品精品无码久久 | 国产情侣小视频 | 国产精品亚洲四区在线观看 | 久久人爽人人爽人人片av | 伊人久久大香线蕉亚洲 | 欧美高清一级啪啪毛片 | 中文字幕日韩一区二区不卡 | 女人爽到高潮免费视频大全 | 国产成人精品一区二区免费 | 特黄特黄| 最新自拍偷拍视频 | 99re6在线视频精品免费 | 在线小视频国产 | 色翁荡熄又大又硬又粗又视频 | 婷婷综合影院 | 色吊丝av中文字幕 | 伊人短视频 | 色欲色香天天天综合网www | 狠狠色综合7777久夜色撩人 | 日本一区二区三区四区公司 | 国产福利在线小视频 | 特一级黄色大片 | 日本免费一区二区三区中文字幕 | 欧美成人免费观看的 |