中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
C/C++代碼調試的藝術(第2版)

包郵 C/C++代碼調試的藝術(第2版)

作者:張海洋
出版社:人民郵電出版社出版時間:2023-04-01
開本: 16開 頁數: 324
中 圖 價:¥72.5(6.6折) 定價  ¥109.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

C/C++代碼調試的藝術(第2版) 版權信息

C/C++代碼調試的藝術(第2版) 本書特色

適讀人群 :本書適合C/C++的初學者、準備 C/C++相關開發崗位面試的求職者、經驗豐富的開發人員以及常遭遇代碼調試難題的開發人員閱讀。1.《C/C++代碼調試的藝術》新升級,更新了更豐富的代碼調試真實案例,為讀者提供更全的解決方案2.通俗易懂,涵蓋10+程序調試要點,每章均涉及Windows和Linux兩大主流平臺的代碼調試實例,從基本知識開始,手把手帶你debug3.案例豐富,精選100+調試案例,對真實業務中的死鎖、動態庫調試、內存泄漏、內存破壞、崩潰轉儲文件調試等問題給出解決方案,輕松解決常見業務代碼難題4.熱門講師,出自云塢科技有限公司的聯合創立人、51CTO的熱門講師之手,集作者20多年一線開發精華于一體,兼具實用性和參考性

C/C++代碼調試的藝術(第2版) 內容簡介

本書圍繞C/C++程序調試這一主題,系統深入地介紹了在Windows和Linux操作系統上如何高效地調試C/C++程序。 本書分為11章,內容涵蓋了程序調試的基本知識、Visual C++調試的基本功能與技巧、Linux系統中gdb工具的使用、死鎖調試、動態庫調試、內存檢查、遠程調試、轉儲文件調試分析、發行版調試,以及調試的高級話題和調試方面的擴展知識。 本書作為學習C/C++調試技術的重要資料,講解通俗易懂,選取的示例注重理論與實際的聯系。

C/C++代碼調試的藝術(第2版) 目錄

第 1章 C/C++調試基本知識 1
1.1 BUG與Debug 1
1.2 為什么選擇C/C++ 3
1.3 什么是調試器 4
第 2章 Visual C++調試基本功能 5
2.1 Visual C++簡介 5
2.1.1 VC 2019版本選擇 7
2.1.2 VC 2019安裝 8
2.2 斷點管理 9
2.2.1 設置/刪除斷點 10
2.2.2 禁用斷點 10
2.2.3 查看所有斷點 11
2.3 調試執行 14
2.3.1 啟動調試 14
2.3.2 逐語句執行 15
2.3.3 逐過程執行 17
2.3.4 跳出執行 17
2.3.5 運行到光標處 17
2.3.6 多次執行代碼 18
2.4 監視/快速監視 20
2.4.1 快速監視 20
2.4.2 監視窗口 21
2.4.3 表達式支持 23
2.5 內存查看 25
2.5.1 字符串內存布局 26
2.5.2 整型變量內存布局 27
2.6 通過“局部變量”窗口和“自動”窗口查看變量 28
2.6.1 “局部變量”窗口查看變量 28
2.6.2 “自動”窗口查看變量 30
2.7 即時窗口 31
2.7.1 顯示變量的值 31
2.7.2 執行內嵌函數 32
2.8 調用堆棧 32
2.8.1 調用堆棧基本信息 33
2.8.2 設置符號信息 33
2.9 多線程管理 36
2.9.1 創建多線程測試項目 36
2.9.2 開始調試多線程程序 37
2.10 查看錯誤碼 40
2.11 調試宏assert使用 43
2.11.1 assert宏簡介 44
2.11.2 使用assert宏的注意事項 45
2.12 其他 46
2.12.1 編輯并繼續調試 46
2.12.2 字符串可視化工具 47
2.12.3 條件斷點 48
2.12.4 函數斷點 51
2.12.5 數據斷點 52
2.12.6 VC調試時常用的快捷鍵和組合鍵列表 55
第3章 Linux系統下gdb調試基本功能 57
3.1 Linux系統下C/C++編程的基本知識 57
3.1.1 開發環境安裝 58
3.1.2 開發第 一個C/C++程序 61
3.2 gdb簡介 68
3.2.1 gdb的安裝 68
3.2.2 gdb常用功能概覽 70
3.3 調試執行 71
3.3.1 啟動調試 71
3.3.2 啟動調試并添加參數 74
3.3.3 附加到進程 75
3.4 斷點管理 77
3.4.1 設置斷點 77
3.4.2 啟用/禁用斷點 86
3.4.3 啟用斷點一次 87
3.4.4 啟用斷點并刪除 88
3.4.5 啟用斷點并命中N次 89
3.4.6 忽略斷點前N次命中 90
3.4.7 查看斷點 90
3.4.8 刪除斷點 91
3.5 程序執行 92
3.5.1 啟動程序 92
3.5.2 繼續運行 93
3.5.3 繼續運行并跳過當前斷點N次 94
3.5.4 繼續運行直到當前函數執行完成 94
3.5.5 單步執行 95
3.5.6 逐過程執行 96
3.6 查看當前函數參數 96
3.7 查看/修改變量的值 97
3.7.1 使用gdb內嵌函數 98
3.7.2 查看結構體/類的值 99
3.7.3 查看數組 101
3.8 自動顯示變量的值 102
3.9 查看源代碼 104
3.10 查看內存 106
3.11 查看寄存器 109
3.12 查看調用棧 111
3.12.1 查看棧回溯信息 112
3.12.2 切換棧幀 113
3.12.3 查看幀信息 115
3.13 線程管理 115
3.13.1 查看所有線程信息 118
3.13.2 切換線程 118
3.13.3 為線程設置斷點 119
3.13.4 為線程執行命令 120
3.14 其他 121
3.14.1 觀察點 121
3.14.2 捕獲點 124
3.14.3 搜索源代碼 126
3.14.4 查看變量類型 128
3.14.5 跳轉執行 130
3.14.6 窗口管理 132
3.14.7 調用Shell命令 134
3.14.8 assert宏使用 135
3.14.9 gdb常用命令列表 137
第4章 多線程死鎖調試 141
4.1 創建多線程 142
4.2 多線程的同步 144
4.3 C++標準庫中的鎖 146
4.3.1 std::mutex類 146
4.3.2 std::timed_mutex類 149
4.3.3 std::recursive_mutex和std::recursive_timed_mutex 149
4.4 死鎖調試 150
4.4.1 Windows系統中的死鎖調試 151
4.4.2 Linux系統中的死鎖調試 153
4.4.3 死鎖條件 156
4.4.4 解決死鎖 157
第5章 調試動態庫 160
5.1 Windows系統動態庫開發與調試 161
5.1.1 創建動態庫 161
5.1.2 使用動態庫 164
5.1.3 調試動態庫 165
5.2 Linux系統動態庫開發與調試 170
5.2.1 創建動態庫 171
5.2.2 使用動態庫 174
5.2.3 調試動態庫 177
第6章 內存檢查 183
6.1 VC調試器和C/C++內存檢查機制 183
6.1.1 內存泄漏測試程序 184
6.1.2 使用VC運行時庫函數來檢測內存泄漏 186
6.1.3 檢測堆內存破壞(堆溢出) 193
6.1.4 使用數據斷點來定位堆內存破壞問題 196
6.1.5 使用地址擦除系統(AddressSanitizer)來定位內存問題 206
6.1.6 其他調試函數 214
6.2 Linux系統內存檢查 215
6.2.1 檢查內存泄漏 215
6.2.2 檢查堆溢出 217
6.2.3 檢查棧溢出 218
6.2.4 檢查全局變量的內存溢出 219
6.2.5 檢查內存被釋放后繼續使用 220
第7章 遠程調試 222
7.1 遠程調試簡介 222
7.2 Visual C++遠程調試 223
7.2.1 準備測試程序 223
7.2.2 準備目標機環境 223
7.2.3 啟動遠程調試 226
7.3 Linux系統gdb遠程調試 232
7.3.1 準備測試程序 232
7.3.2 準備目標機環境 233
7.3.3 啟動調試 233
7.4 使用VC遠程調試Linux程序 236
7.5 使用VC創建Linux程序并調試 238
第8章 轉儲文件調試分析 242
8.1 Windows系統中的轉儲文件分析 242
8.1.1 轉儲文件死鎖調試分析 242
8.1.2 崩潰轉儲調試分析 245
8.2 Linux系統中的轉儲文件分析 251
8.2.1 內核轉儲文件調試分析死鎖 251
8.2.2 內核轉儲文件調試分析程序崩潰問題 255
第9章 發行(Release)版調試 259
9.1 在VC中調試發行版 259
9.1.1 去優化測試 259
9.1.2 保留優化調試 262
9.2 在gdb中調試發行版 266
9.2.1 從調試版中提取調試符號 268
9.2.2 直接使用調試版作為符號源 269
第 10章 調試高級話題 272
10.1 斷點的秘密 272
10.2 你好,燙 275
10.3 與Windows調試相關的API 278
10.3.1 輸出窗口輸出信息 279
10.3.2 檢測是否在調試器運行 279
10.3.3 Windows調試API列表 280
10.4 與Linux調試相關的系統調用 281
10.5 使用gdb為軟件制作補丁 281
10.5.1 為有源碼軟件制作軟件補丁 282
10.5.2 為無源碼軟件制作軟件補丁 285
10.6 使用gdb“破解”軟件密碼 287
第 11章 調試擴展知識 292
11.1 Windows驅動開發調試入門 292
11.1.1 環境準備 292
11.1.2 創建Helloworld驅動項目 293
11.1.3 編譯、構建驅動 294
11.1.4 部署驅動 294
11.1.5 安裝驅動程序 298
11.1.6 調試驅動 299
11.2 WinDbg簡介 300
11.2.1 直接啟動應用程序進行調試 300
11.2.2 附加到進程 301
11.2.3 調試轉儲文件 303
11.2.4 WinDbg命令列表 303
11.3 Linux內核驅動開發簡介 306
11.3.1 環境準備 306
11.3.2 開發Helloworld 307
11.3.3 加載和卸載驅動 308
11.4 Linux內核轉儲文件調試分析 310
11.4.1 Ubuntu系統 310
11.4.2 在CentOS系統中配置內核轉儲 312
11.4.3 分析內核轉儲文件 314
11.5 Visual Studio 2022調試新特性介紹 316
11.5.1 臨時斷點 316
11.5.2 斷點行為控制 318
11.5.3 依賴斷點 319
11.5.4 強制運行到光標處 321
11.5.5 強制運行到單擊處 321
11.5.6 附加到進程 321
展開全部

C/C++代碼調試的藝術(第2版) 作者簡介

張海洋,云塢科技聯合創立人,清華大學計算機專業畢業,從事軟件開發近20年,曾在外企工作10余年,長期工作在開發一線,已經申請軟件發明專利10余項。精通C/C++、Python等編程語言,在Windows驅動、Linux驅動、Windows/Linux系統開發和調試方面具有豐富的經驗。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 上海律师事务所_上海刑事律师免费咨询平台-煊宏律师事务所 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 户外健身路径_小区健身器材_室外健身器材厂家_价格-浩然体育 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 一点车讯-汽车网站,每天一点最新车讯! | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 首页|光催化反应器_平行反应仪_光化学反应仪-北京普林塞斯科技有限公司 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 建大仁科-温湿度变送器|温湿度传感器|温湿度记录仪_厂家_价格-山东仁科 | 酒万铺-酒水招商-酒水代理 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 广州物流公司_广州货运公司_广州回程车运输 - 万信物流 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 中宏网-今日新闻-财经新闻| 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 奥运星-汽车性能网评-提供个性化汽车资讯 | 广东成考网-广东成人高考网 |