Debug Hacks中文版:深入調試的技術和工具

Debug Hacks中文版:深入調試的技術和工具

《Debug Hacks中文版:深入調試的技術和工具》是Miracle Linux 的創始人吉岡弘隆和幾位工程師們多年從事核心開發的經驗積累。從調試器的基本使用方法、彙編的基礎知識開始,到核心錯誤信息捕捉、應用程式調試、核心調試,《Debug Hacks中文版:深入調試的技術和工具》深入淺出地講解了Linux 下應用程式和核心的調試技巧。

基本介紹

  • 書名:Debug Hacks中文版:深入調試的技術和工具
  • 作者:吉岡弘隆、大和一洋、大岩尚宏
  • 原版名稱:DEBUG HACKS
  • 譯者:馬晶慧 
  • ISBN:9787121140488
  • 頁數:401頁
  • 出版社:電子工業出版社
  • 出版時間:第1版 (2011年9月1日)
  • 裝幀:平裝
  • 開本:16開
內容簡介,編輯推薦,目錄,

內容簡介

《Debug Hacks中文版:深入調試的技術和工具》是Miracle Linux 的創始人吉岡弘隆和幾位工程師們多年從事核心開發的經驗積累。從調試器的基本使用方法、彙編的基礎知識開始,到核心錯誤信息捕捉、應用程式調試、核心調試,《Debug Hacks中文版:深入調試的技術和工具》深入淺出地講解了Linux 下應用程式和核心的調試技巧。
雖然《Debug Hacks中文版:深入調試的技術和工具》的出發點是Linux 核心調試,但書中的絕大部分知識在許多領域都能派上用場。如Linux 應用程式開發,嵌入式Linux 開發,甚至時下流行的iOS 應用程式開發,只要從事應用程式開發的工作,就會涉及調試,那么讀一讀《Debug Hacks中文版:深入調試的技術和工具》也不無裨益。

編輯推薦

《Debug Hacks中文版:深入調試的技術和工具》:Miracle Linux株式會社的精銳工程師們在長年的Linux核心開發中積累了經驗,精心打造了這本詳細介紹調試技巧的書。《Debug Hacks中文版:深入調試的技術和工具》從熱身開始,講述準備工作、必要的知識,以及各種方便的技巧和工具,以便迅速找到bug原因並修改,毫無吝嗇地介紹了許多高級調試技巧。《Debug Hacks中文版:深入調試的技術和工具》匯集了大量從實踐中來的實用技巧,是高效率、高質量開發的必備讀物之一。

目錄

第1章 熱身準備 1
1.調試是什麼 1
2.Debug hacks的地圖 4
3.調試的心得 6
第2章 調試前的必知必會 13
4.獲取進程的核心轉儲 13
5.調試器(GDB)的基本用法(之一) 18
6.調試器(GDB)的基本使用方法(之二) 32
7.調試器(GDB)的基本使用方法(之三) 39
8.Intel架構的基本知識 45
9.調試時必需的棧知識 52
10.函式調用時的參數傳遞方法(x86_64篇) 61
11.函式調用時的參數傳遞方法(i386篇) 66
12.函式調用時的參數傳遞方法(C++篇) 69
13.怎樣學習彙編語言 72
14.從彙編語言查找相應的原始碼 77
第3章 核心調試的準備 86
15.Oops信息的解讀方法 86
16.使用minicom進行串口連線 89
17.通過網路獲取核心訊息 93
18.使用SysRq鍵調試 97
19.使用diskdump獲取核心崩潰轉儲 103
20.使用kdump獲取核心崩潰轉儲 109
21.crash命令的使用方法 112
22.當機時利用IPMI watchdog timer獲取崩潰轉儲 125
23.用NMI watchdog在當機時獲取崩潰轉儲 130
24.核心獨有的彙編指令(之一) 132
25.核心獨有的彙編指令(之二) 135
第4章 應用程式調試實踐 139
26.發生SIGSEGV,應用程式異常停止 139
27.backtrace無法正確顯示 147
28.數組非法訪問導致記憶體破壞 151
29.利用監視點檢測非法記憶體訪問 157
30.malloc()和free()發生故障 160
31.應用程式停止回響(死鎖篇) 163
32.應用程式停止回響(死循環篇) 168
第5章 實踐核心調試 177
33.kernel panic(空指針引用篇) 177
34.kernel panic(鍊表破壞篇) 184
35.kernel panic 192
36.核心停止回響(死循環篇) 205
37.核心停止回響(自旋鎖篇之一) 212
38.核心停止回響(自旋鎖篇之二) 215
39.核心停止回響(信號量篇) 221
40.實時進程停止回響 232
41.運行緩慢的故障 240
42.CPU負載過高的故障 245
第6章 高手們的調試技術 259
43.使用strace尋找故障原因的線索 259
44.objdump的方便選項 264
45.Valgrind的使用方法(基本篇) 267
46.Valgrind的使用方法(實踐篇) 272
47.利用kprobes獲取核心內部信息 275
48.使用jprobes查看核心內部的信息 280
49.使用kprobes獲取核心內部任意位置的信息 282
50.使用kprobes在核心內部任意位置通過變數名獲取信息 287
51.使用KAHO獲取被編譯器最佳化掉的變數的值 291
52.使用systemtap調試運行中的核心(之一) 297
53.使用systemtap調試運行中的核心(之二) 303
54./proc/meminfo中的寶藏 307
55.用/proc//mem快速讀取進程的記憶體內容 311
56.OOM Killer的行為和原理 315
57.錯誤注入 323
58.利用錯誤注入發現Linux核心的潛在bug 328
59.Linux核心的init節 334
60.解決性能問題 337
61.利用VMware Vprobe獲取信息 346
62.用Xen獲取記憶體轉儲 350
63.理解用GOT/PLT調用函式的原理 352
64.調試initramfs鏡像 357
65.使用RT Watchdog檢測實時進程失去回響 362
66.調查手頭的x86機器是否支持64位模式 366
附錄 Debug hacks術語的基礎知識 369
索引 379

相關詞條

熱門詞條

聯絡我們