兒童禮物書展
Linux核心除錯實務

Linux核心除錯實務

Linux Kernel Debugging

  • 定價:800
  • 優惠價:79632
  • 優惠期限:2024年11月30日止
折價券 領取折價券
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 台北、新北、基隆宅配快速到貨(除外地區)
載入中...
  • 分享

優惠組合

 

內容簡介

  藉由實用工具與進階技術,對Linux kernel與kernel模組進行有效除錯! 
 
  Linux kernel是世界公認最好的作業系統核心。但是要對kernel進行除錯,則是一件相當複雜的工作。本書是學習一切高階kernel除錯的全面性指南。深入涵蓋許多領域,例如基於工具的除錯(debug)技術(printk與動態除錯框架),並展示如何使用Kprobes。涉及記憶體的bug往往是一場惡夢,我們用兩個章節的篇幅來講解針對記憶體除錯的工具與技術。當kernel賞你一個Oops時,該如何準確地解讀才能解開最根本的問題呢?這本書提供了解答。 
 
  並行性(concurrency)往往是一個複雜的主題,本書能幫助你確切地了解何謂資料競爭(data race),包括使用KCSAN來檢測這類問題。還有一些棘手的問題,無論是在除錯還是效能方面,都需要詳細的kernel層級追蹤;你將學習到如何使用Ftrace及其前端(frontend)的強大功能,還將會知道如何在kernel內部的GDB工具(KGDB)與許多其他工具,用於處理kernel lockup、hangs與可怕的kernel panic。 
 
  讀完本書,你將能掌握各種強大的kernel debug工具與技術,以及具有在何時間點使用適當工具和技術的敏銳能力。 
 
  你將學到的內容: 
  *探索基於工具的printk,以及功能強大的動態除錯框架(dynamic debug framework) 
  *使用靜態與動態的Kprobes,trap kernel/module 的函式 
  *使用KASAN、UBSAN、SLUB debug 和kmemleak捕捉kernel 的記憶體問題 
  *深入解譯Oops,並精準識別程式碼的行號位置 
  *了解資料競爭,並使用KCSAN捕捉難以捉摸的並行性(concurrency)問題 
  *利用Ftrace與trace-cmd詳細追蹤kernel流程 
  *撰寫自訂的kernel panic handler(處理常式),並檢測kernel lockup與hands 
  *使用 KGDB 單步執行,以及 debug kernel/module 的原始碼
 

作者介紹

作者簡介
 
Kaiwan N Billimoria
 
  Kaiwan 在 Linux 系統程式設計的各方面都貢獻良多,包括 Bash、C 語言的系統程式設計、Kernel 內部研究、裝置驅動程式與嵌入式 Linux 系統。他積極地參與商業/自由和開放原始碼軟體專案,包括Linux 作業系統的驅動程式,以及許多放在 GitHub 的小型專案。他現已從事相關工作將近30年,著有《Hands-On System Programming with Linux and Linux Kernel Programming》。同時,他也是一個業餘跑者。
 

目錄

【PART 1 Kernel 除錯的簡介與方法】 
chapter 1 軟體除錯概論 

1.1 技術需求 
1.2 軟體除錯 - 定義、起源與由來 
1.3 軟體錯誤:真實案例 
1.4 設定工作區 
1.5 兩個 kernel 的故事 
1.6 幾個簡單的 Debug 技巧提示 
結論 
chapter 2 Debug Kernel 的方法 
2.1 技術需求 
2.2 分類 bug type 
2.3 Debug Kernel:方法不同的原因 
2.4 概述 debug kernel 的不同方法 
結論 

【PART 2 Kernel 與驅動程式的除錯工具與技術】 
chapter 3 透過檢測除錯:使用 printk 與其族類 

3.1 技術需求 
3.2 無所不在的 kernel printk 
3.3 將 printk 用於除錯目的 
3.4 使用 kernel 強大的動態 debug 功能 
3.5 剩下的 printk 雜項字元 
結論 
chapter 4 透過Kprobes 儀器進行debug 
4.1 了解 kprobes 基礎 
4.2 使用 static kprobes - 傳統的探測方法 
4.3 了解 ABI 的基本概念 
4.4 使用 static kprobes - 範例 3 與範例 4 
4.5 開始使用 kretprobes 
4.6 Kprobes:限制性與不利因素 
4.7 更簡單的方法:動態 kprobes 或基於 kprobes 的事件追蹤 
4.8 透過 perf 和 eBPF 工具,對 execve() API 進行 trap 
結論 
chapter 5 Kernel 記憶體除錯問題初探 
5.1 技術需求 
5.2 記憶體到底出了什麼問題? 
5.3 使用 KASAN 和 UBSAN 找到記憶體 bug 
5.4 使用 Clang 編譯 kernel 和 module 
5.5 捕捉 kernel 中的記憶體缺陷:比較與注意事項 (Part 1) 
結論 
chapter 6 再論 Kernel 記憶體除錯問題 
6.1 技術需求 
6.2 透過 SLUB debug 偵測 slab 記憶體損毀 
6.3 使用 kmemleak 找出記憶體洩漏問題 
6.4 捕捉 kernel 中的記憶體缺陷:比較與注意事項(Part 2) 
結論 
chapter 7 Oops!解讀 kernel 的 bug 診斷 
7.1 技術需求 
7.2 產生一個簡單的 kernel bug 和 Oops 
7.3 介紹 Kernel Oops 以及所代表的意義 
7.4 魔鬼藏在細節裡:解碼 Oops 
7.5 協助判斷 Oops 位置的工具與技術 
7.6 ARM Linux 系統上的 Oops 及使用 Netconsole 
7.7 幾個實際的 Oops 
結論 
chapter 8 鎖的除錯 
8.1 技術需求 
8.2 上鎖與 debug 因鎖產生的 bug 
8.3 上鎖:快速總結要點 
8.4 使用 KCSAN 攔截 concurrency bug 
8.5 一些實際案例:由於上鎖問題導致的 kernel bug 
結論 

【PART 3 額外的 Kernel 除錯工具與技術】 
chapter 9 追蹤 Kernel 流程 

9.1 技術需求 
9.2 Kernel 追蹤技術:概論 
9.3 使用 ftrace kernel 追蹤程式 
9.4 使用 trace-cmd、KernelShark 與 perf-tools ftrace 前端工具 
9.5 用 LTTng 和 Trace Compass 追蹤 kernel 的簡介 
結論 
chapter 10 Kernel Panic、Lockup 以及 Hang 
10.1 技術需求 
10.2 Panic!Kernel panic 時會發生什麼事? 
10.3 撰寫自訂的 kernel panic 處理常式 
10.4 偵測 kernel 中的 lockup 和 CPU 停止 
10.5 採用 kernel 的掛起任務和工作佇列停止偵測器 
結論 
chapter 11 使用 Kernel GDB (KGDB) 
11.1 技術需求 
11.2 從概念上理解 KGDB 的運作 
11.3 為 KGDB 建立 ARM target 系統和 kernel 
11.4 使用 KGDB debug kernel 
11.5 使用 KGDB debug kernel 模組 
11.6 [K]GDB:一些提示和技巧 
結論 
chapter 12 再談談一些 kernel debug 方法 
12.1 Kdump/crash 架構簡介 
12.2 淺談 kernel 程式碼的靜態分析 
12.3 Kernel code coverage 工具和測試框架簡介 
12.4 其他:使用 journalctl、斷言 (assertions) 和警告 
結論 

索引
 

詳細資料

  • ISBN:9786263248465
  • 規格:平裝 / 644頁 / 17 x 23 x 3 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣

會員評鑑

4.5
1人評分
|
1則書評
|
立即評分
user-img
Lv.2
4.5
|
2024/08/14
劇透警告

Debug kernel 工具集

介紹許多應用於 Kernel 的工具,適合需要瞭解除錯工具的開發者,雖然內容有些錯字,但瑕不掩瑜,是一本不錯的書,這年頭已經很少這方面的書籍了,值得收藏。
展開

最近瀏覽商品

 

相關活動

  • 【自然科普、電腦資訊】童話裡的心理學【博客來電子書獨家-作者電子贈言簽名扉頁版】
 

購物說明

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則 

  • 共和國全書系
  • 時報暢銷展