中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊

包郵 高效C/C++調(diào)試

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

高效C/C++調(diào)試 版權(quán)信息

高效C/C++調(diào)試 本書特色

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

高效C/C++調(diào)試 內(nèi)容簡介

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

高效C/C++調(diào)試 目錄


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

高效C/C++調(diào)試 作者簡介

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

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 医学模型生产厂家-显微手术模拟训练器-仿真手术模拟训练系统-北京医教科技 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 软启动器-上海能曼电气有限公司 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 陕西高职单招-陕西高职分类考试网| 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 高温高压釜(氢化反应釜)百科 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 亿诺千企网-企业核心产品贸易 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | 尊享蟹太太美味,大闸蟹礼卡|礼券|礼盒在线预订-蟹太太官网 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 石英陶瓷,石英坩埚,二氧化硅陶瓷-淄博百特高新材料有限公司 | 番茄畅听邀请码怎么输入 - Dianw8.com | 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | PE一体化污水处理设备_地埋式生活污水净化槽定制厂家-岩康塑业 |