幫助中心 | 我的帳號 | 關於我們

C\C++代碼調試的藝術(第2版)

  • 作者:張海洋|責編:傅道坤
  • 出版社:人民郵電
  • ISBN:9787115608062
  • 出版日期:2023/04/01
  • 裝幀:平裝
  • 頁數:324
人民幣:RMB 109.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書圍繞C/C++程序調試這一主題,系統深入地介紹了在Windows和Linux操作系統上如何高效地調試C/C++程序。
    本書分為11章,內容涵蓋了程序調試的基本知識、Visual C++調試的基本功能與技巧、Linux系統中gdb工具的使用、死鎖調試、動態庫調試、內存檢查、遠程調試、轉儲文件調試分析、發行版調試,以及調試的高級話題和調試方面的擴展知識。

作者介紹
張海洋|責編:傅道坤
    張海洋,清華大學電腦專業畢業,曾在外企工作10余年,現為雲塢科技聯合創始人,已經在國內外申請軟體發明專利10余件,從事軟體開發近20年,長期工作在開發第一線。精通C/C++、Python等語言,在Windows驅動、Linux驅動、Windows/Linux系統開發、調試方面具有豐富的經驗。

目錄
第1章  C/C++調試基本知識
  1.1  BUG與Debug
  1.2  為什麼選擇C/C
  1.3  什麼是調試器
第2章  VisualC++調試基本功能
  2.1  VisualC++簡介
    2.1.1  VC 2019版本選擇
    2.1.2  VC 2019安裝
  2.2  斷點管理
    2.2.1  設置/刪除斷點
    2.2.2  禁用斷點
    2.2.3  查看所有斷點
  2.3  調試執行
    2.3.1  啟動調試
    2.3.2  逐語句執行
    2.3.3  逐過程執行
    2.3.4  跳出執行
    2.3.5  運行到游標處
    2.3.6  多次執行代碼
  2.4  監視/快速監視
    2.4.1  快速監視
    2.4.2  監視窗口
    2.4.3  表達式支持
  2.5  內存查看
    2.5.1  字元串內存布局
    2.5.2  整型變數內存布局
  2.6  通過「局部變數」窗口和「自動」窗口查看變數
    2.6.1  「局部變數」窗口查看變數
    2.6.2  「自動」窗口查看變數
  2.7  即時窗口
    2.7.1  顯示變數的值
    2.7.2  執行內嵌函數
  2.8  調用堆棧
    2.8.1  調用堆棧基本信息
    2.8.2  設置符號信息
  2.9  多線程管理
    2.9.1  創建多線程測試項目
    2.9.2  開始調試多線程程序
  2.10  查看錯誤碼
  2.11  調試宏assert使用
    2.11.1  assert宏簡介
    2.11.2  使用assert宏的注意事項
  2.12  其他
    2.12.1  編輯並繼續調試
    2.12.2  字元串可視化工具
    2.12.3  條件斷點
    2.12.4  函數斷點
    2.12.5  數據斷點
    2.12.6  VC調試時常用的快捷鍵和組合鍵列表
第3章  Linux系統下gdb調試基本功能

  3.1  Linux系統下C/C++編程的基本知識
    3.1.1  開發環境安裝
    3.1.2  開發第一個C/C++程序
  3.2  gdb簡介
    3.2.1  gdb的安裝
    3.2.2  gdb常用功能概覽
  3.3  調試執行
    3.3.1  啟動調試
    3.3.2  啟動調試並添加參數
    3.3.3  附加到進程
  3.4  斷點管理
    3.4.1  設置斷點
    3.4.2  啟用/禁用斷點
    3.4.3  啟用斷點一次
    3.4.4  啟用斷點並刪除
    3.4.5  啟用斷點並命中N次
    3.4.6  忽略斷點前N次命中
    3.4.7  查看斷點
    3.4.8  刪除斷點
  3.5  程序執行
    3.5.1  啟動程序
    3.5.2  繼續運行
    3.5.3  繼續運行並跳過當前斷點N次
    3.5.4  繼續運行直到當前函數執行完成
    3.5.5  單步執行
    3.5.6  逐過程執行
  3.6  查看當前函數參數
  3.7  查看/修改變數的值
    3.7.1  使用gdb內嵌函數
    3.7.2  查看結構體/類的值
    3.7.3  查看數組
  3.8  自動顯示變數的值
  3.9  查看源代碼
  3.10  查看內存
  3.11  查看寄存器
  3.12  查看調用棧
    3.12.1  查看棧回溯信息
    3.12.2  切換棧幀
    3.12.3  查看幀信息
  3.13  線程管理
    3.13.1  查看所有線程信息
    3.13.2  切換線程
    3.13.3  為線程設置斷點
    3.13.4  為線程執行命令
  3.14  其他
    3.14.1  觀察點
    3.14.2  捕獲點
    3.14.3  搜索源代碼
    3.14.4  查看變數類型
    3.14.5  跳轉執行

    3.14.6  窗口管理
    3.14.7  調用Shell命令
    3.14.8  assert宏使用
    3.14.9  gdb常用命令列表
第4章  多線程死鎖調試
  4.1  創建多線程
  4.2  多線程的同步
  4.3  C++標準庫中的鎖
    4.3.1  std::mutex類
    4.3.2  std::timed_mutex類
    4.3.3  std::recursive_mutex和std::recursive_timed_mutex
  4.4  死鎖調試
    4.4.1  Windows系統中的死鎖調試
    4.4.2  Linux系統中的死鎖調試
    4.4.3  死鎖條件
    4.4.4  解決死鎖
第5章  調試動態庫
  5.1  Windows系統動態庫開發與調試
    5.1.1  創建動態庫
    5.1.2  使用動態庫
    5.1.3  調試動態庫
  5.2  Linux系統動態庫開發與調試
    5.2.1  創建動態庫
    5.2.2  使用動態庫
    5.2.3  調試動態庫
第6章  內存檢查
  6.1  VC調試器和C/C++內存檢查機制
    6.1.1  內存泄漏測試程序
    6.1.2  使用VC運行時庫函數來檢測內存泄漏
    6.1.3  檢測堆內存破壞(堆溢出)
    6.1.4  使用數據斷點來定位堆內存破壞問題
    6.1.5  使用地址擦除系統(AddressSanitizer)來定位內存問題
    6.1.6  其他調試函數
  6.2  Linux系統內存檢查
    6.2.1  檢查內存泄漏
    6.2.2  檢查堆溢出
    6.2.3  檢查棧溢出
    6.2.4  檢查全局變數的內存溢出
    6.2.5  檢查內存被釋放後繼續使用
第7章  遠程調試
  7.1  遠程調試簡介
  7.2  VisualC++遠程調試
    7.2.1  準備測試程序
    7.2.2  準備目標機環境
    7.2.3  啟動遠程調試
  7.3  Linux系統gdb遠程調試
    7.3.1  準備測試程序
    7.3.2  準備目標機環境
    7.3.3  啟動調試
  7.4  使用VC遠程調試Linux程序

  7.5  使用VC創建Linux程序並調試
第8章  轉儲文件調試分析
  8.1  Windows系統中的轉儲文件分析
    8.1.1  轉儲文件死鎖調試分析
    8.1.2  崩潰轉儲調試分析
  8.2  Linux系統中的轉儲文件分析
    8.2.1  內核轉儲文件調試分析死鎖
    8.2.2  內核轉儲文件調試分析程序崩潰問題
第9章  發行(Release)版調試
  9.1  在VC中調試發行版
    9.1.1  去優化測試
    9.1.2  保留優化調試
  9.2  在gdb中調試發行版
    9.2.1  從調試版中提取調試符號
    9.2.2  直接使用調試版作為符號源
第10章  調試高級話題
  10.1  斷點的秘密
  10.2  你好,燙
  10.3  與Windows調試相關的API
    10.3.1  輸出窗口輸出信息
    10.3.2  檢測是否在調試器運行
    10.3.3  Windows調試API列表
  10.4  與Linux調試相關的系統調用
  10.5  使用gdb為軟體製作補丁
    10.5.1  為有源碼軟體製作軟體補丁
    10.5.2  為無源碼軟體製作軟體補丁
  10.6  使用gdb「破解」軟體密碼
第11章  調試擴展知識
  11.1  Windows驅動開發調試入門
    11.1.1  環境準備
    11.1.2  創建Helloworld驅動項目
    11.1.3  編譯、構建驅動
    11.1.4  部署驅動
    11.1.5  安裝驅動程序
    11.1.6  調試驅動
  11.2  WinDbg簡介
    11.2.1  直接啟動應用程序進行調試
    11.2.2  附加到進程
    11.2.3  調試轉儲文件
    11.2.4  WinDbg命令列表
  11.3  Linux內核驅動開發簡介
    11.3.1  環境準備
    11.3.2  開發Helloworld
    11.3.3  載入和卸載驅動
  11.4  Linux內核轉儲文件調試分析
    11.4.1  Ubuntu系統
    11.4.2  在CentOS系統中配置內核轉儲
    11.4.3  分析內核轉儲文件
  11.5  Visual Studio 2022調試新特性介紹
    11.5.1  臨時斷點

    11.5.2  斷點行為控制
    11.5.3  依賴斷點
    11.5.4  強制運行到游標處
    11.5.5  強制運行到單擊處
    11.5.6  附加到進程

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032