Linux 核心除錯實務 (Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules)
Kaiwan N Billimoria 著 廖明沂 譯
- 出版商: 碁峰資訊
- 出版日期: 2024-07-29
- 定價: $800
- 售價: 7.9 折 $632
- 語言: 繁體中文
- 頁數: 644
- 裝訂: 平裝
- ISBN: 6263248467
- ISBN-13: 9786263248465
- 
    相關分類:
    
      Linux
 
- 此書翻譯自: Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules (Paperback)
立即出貨 (庫存 > 10)
買這商品的人也買了...
- 
                
                   Linux Device Driver Programming 驅動程式設計 Linux Device Driver Programming 驅動程式設計$690$587
- 
                
                   無瑕的程式碼 - 敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship) 無瑕的程式碼 - 敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452
- 
                
                   The Linux Programming Interface 國際中文版 (上冊) The Linux Programming Interface 國際中文版 (上冊)$800$680
- 
                
                   The Linux Programming Interface 國際中文版 (下冊) The Linux Programming Interface 國際中文版 (下冊)$800$680
- 
                
                   為你自己學 Git 為你自己學 Git$500$425
- 
                
                   $559嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統 $559嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
- 
                
                   $853劍指 Java — 核心原理與應用實踐 $853劍指 Java — 核心原理與應用實踐
- 
                
                   精通嵌入式 Linux 程式設計, 3/e (上) 精通嵌入式 Linux 程式設計, 3/e (上)$750$585
- 
                
                   精通嵌入式 Linux 程式設計, 3/e (下) 精通嵌入式 Linux 程式設計, 3/e (下)$450$351
- 
                
                   高效 C/C++ 調試 高效 C/C++ 調試$594$564
- 
                
                   跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎 跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎$880$748
- 
                
                   $327二進制安全基礎 $327二進制安全基礎
- 
                
                   高性能程式密技 - Linux 網路核心技術大公開 高性能程式密技 - Linux 網路核心技術大公開$980$774
- 
                
                   圖解 Linux 核心工作原理|透過實作與圖解學習 OS 與硬體的基礎知識【增訂版】 圖解 Linux 核心工作原理|透過實作與圖解學習 OS 與硬體的基礎知識【增訂版】$600$474
- 
                
                   Beyond XSS:探索網頁前端資安宇宙 Beyond XSS:探索網頁前端資安宇宙$880$695
- 
                
                   遞迴演算法大師親授面試心法:Python 與 JavaScript 解題全攻略 (The Recursive Book of Recursion) 遞迴演算法大師親授面試心法:Python 與 JavaScript 解題全攻略 (The Recursive Book of Recursion)$680$530
- 
                
                   Vue 學習手冊 (Learning Vue: Core Concepts and Practical Patterns for Reusable, Composable, and Scalable User Interfaces) Vue 學習手冊 (Learning Vue: Core Concepts and Practical Patterns for Reusable, Composable, and Scalable User Interfaces)$680$537
- 
                
                   LLM 大型語言模型的絕世祕笈:27路獨步劍法,帶你闖蕩生成式 AI 的五湖四海 (iThome鐵人賽系列書) LLM 大型語言模型的絕世祕笈:27路獨步劍法,帶你闖蕩生成式 AI 的五湖四海 (iThome鐵人賽系列書)$650$507
- 
                
                   API 設計模式|簡化整合的訊息交換技術 (Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges) API 設計模式|簡化整合的訊息交換技術 (Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges)$850$672
- 
                
                   演算法導論, 4/e (Introduction to Algorithms, 4/e) 演算法導論, 4/e (Introduction to Algorithms, 4/e)$1,800$1,422
- 
                
                   這樣寫 code 好不好?辨識、分析、改善,寫出易讀易維護的程式碼 這樣寫 code 好不好?辨識、分析、改善,寫出易讀易維護的程式碼$630$498
- 
                
                   Raspberry Pi 樹莓派:AI × OpenCV × LLM × AIoT 創客聖經 Raspberry Pi 樹莓派:AI × OpenCV × LLM × AIoT 創客聖經$880$695
- 
                
                   讓 AI 好好說話!從頭打造 LLM (大型語言模型) 實戰秘笈 讓 AI 好好說話!從頭打造 LLM (大型語言模型) 實戰秘笈$680$537
- 
                
                   內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2) 內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$648
- 
                
                   邊緣 AI - 使用 NVIDIA Jetson Orin Nano 開發具備深度學習、電腦視覺與生成式 AI 功能的 ROS2 機器人 邊緣 AI - 使用 NVIDIA Jetson Orin Nano 開發具備深度學習、電腦視覺與生成式 AI 功能的 ROS2 機器人$580$458
AI NotebookLM 2書75折 詳見活動內容 »
- 
  
       79折
  AI 超神筆記術:NotebookLM 高效資料整理與分析 250技 79折
  AI 超神筆記術:NotebookLM 高效資料整理與分析 250技$480$379
- 
  
       79折
  AI 超神活用術:Felo 搜尋、筆記、簡報、網頁、知識庫、心智圖與視覺圖表全能助手 79折
  AI 超神活用術:Felo 搜尋、筆記、簡報、網頁、知識庫、心智圖與視覺圖表全能助手$490$387
- 
  
       79折
  最強 AI 組合技!NotebookLM / Gemini / Nano Banana / Veo 3 【影音生成進化版】 79折
  最強 AI 組合技!NotebookLM / Gemini / Nano Banana / Veo 3 【影音生成進化版】$499$394
- 
  
       79折
  Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini 79折
  Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498
- 
  
       79折
  AI 加持!Google Sheets 超級工作流 79折
  AI 加持!Google Sheets 超級工作流$599$473
- 
  
       75折
  打造史上最強 AI 組合技!NotebookLM / Gemini / Gemini Live / Imagen / Veo 一起攜手放大絕,打造職場超能力 75折
  打造史上最強 AI 組合技!NotebookLM / Gemini / Gemini Live / Imagen / Veo 一起攜手放大絕,打造職場超能力$499$374
- 
  
       79折
  Gemini x NotebookLM 領軍:Nano Banana x Imagen x Veo x Gem x Gemini Live - Google 多模態 AI 工作流 79折
  Gemini x NotebookLM 領軍:Nano Banana x Imagen x Veo x Gem x Gemini Live - Google 多模態 AI 工作流$620$490
- 
  
       79折
  寫程式的 AI 戰友 – VS Code x GitHub Copilot 79折
  寫程式的 AI 戰友 – VS Code x GitHub Copilot$720$569
- 
  
       79折
  全面掌握 Gemini 開發實務:輕鬆駕馭 Google AI 引擎 79折
  全面掌握 Gemini 開發實務:輕鬆駕馭 Google AI 引擎$680$537
- 
  
       79折
  Canva + AI 創意設計與品牌應用 300招:從商業技巧、社群祕技到AI圖文影音特效, 2/e 79折
  Canva + AI 創意設計與品牌應用 300招:從商業技巧、社群祕技到AI圖文影音特效, 2/e$560$442
- 
  
       79折
  圖像生成 AI Stable Diffusion 實作技法書:從設定、生成到調整,全面掌握 AI 繪圖實戰技! 79折
  圖像生成 AI Stable Diffusion 實作技法書:從設定、生成到調整,全面掌握 AI 繪圖實戰技!$550$435
- 
  
       79折
  動手做 AI Agent:LLM 應用開發實戰力 79折
  動手做 AI Agent:LLM 應用開發實戰力$650$514
- 
  
       79折
  深度學習詳解|台大李宏毅老師機器學習課程精粹 79折
  深度學習詳解|台大李宏毅老師機器學習課程精粹$750$593
- 
  
       79折
  AI 超神應用術:Google Gemini × Gemini Live × Nano Banana × Veo × Flow × NotebookLM 全解鎖 (附範例素材/提示詞/3大影音教學) 79折
  AI 超神應用術:Google Gemini × Gemini Live × Nano Banana × Veo × Flow × NotebookLM 全解鎖 (附範例素材/提示詞/3大影音教學)$490$387
- 
  
       79折
  跟我學 Photoshop 一定要會的影像處理技巧 X AI 生成應用, 5/e 79折
  跟我學 Photoshop 一定要會的影像處理技巧 X AI 生成應用, 5/e$590$466
- 
  
       79折
  AI 提問 X 學習 X 應用:ChatGPT、NotebookLM、Gemini、GitHub Copilot從零到完全實戰 79折
  AI 提問 X 學習 X 應用:ChatGPT、NotebookLM、Gemini、GitHub Copilot從零到完全實戰$390$308
- 
  
       78折
  AIGC 全能實作教科書:一次學會 ChatGPT、簡報、設計與影音繪圖,打造你的 AI 創作工作術 78折
  AIGC 全能實作教科書:一次學會 ChatGPT、簡報、設計與影音繪圖,打造你的 AI 創作工作術$680$530
- 
  
       79折
  Excel 自學聖經:完整入門到職場活用技巧與實例大全 X AI工作術, 3/e 79折
  Excel 自學聖經:完整入門到職場活用技巧與實例大全 X AI工作術, 3/e$650$514
- 
  
       79折
  跟我學 Windows 11 輕鬆操作、高效應用必備技 (附「Copilot智慧AI助手」與「Win11進階應用」教學影片) 79折
  跟我學 Windows 11 輕鬆操作、高效應用必備技 (附「Copilot智慧AI助手」與「Win11進階應用」教學影片)$580$458
- 
  
       79折
  全面掌握 DeepSeek - LLM 微調、生成式 AI、企業級應用開發 79折
  全面掌握 DeepSeek - LLM 微調、生成式 AI、企業級應用開發$600$474
- 
  
       79折
  iPAS 淨零碳規劃管理師初級能力鑑定|淨零碳規劃管理基礎概論&淨零碳盤查規範與程序概要 79折
  iPAS 淨零碳規劃管理師初級能力鑑定|淨零碳規劃管理基礎概論&淨零碳盤查規範與程序概要$490$387
- 
  
       79折
  AI 繪圖一秒上手:用中文提示詞實現創意 (ChatGPT、Copilot、Designer、Bing、Sora) 79折
  AI 繪圖一秒上手:用中文提示詞實現創意 (ChatGPT、Copilot、Designer、Bing、Sora)$580$458
- 
  
       79折
  Microsoft Azure AI Services 與 Azure OpenAI 從入門到人工智慧程式開發 -- 使用 Python (含MCF AI-900國際認證) 79折
  Microsoft Azure AI Services 與 Azure OpenAI 從入門到人工智慧程式開發 -- 使用 Python (含MCF AI-900國際認證)$560$442
- 
  
       79折
  邊緣 AI - 使用 NVIDIA Jetson Orin Nano 開發具備深度學習、電腦視覺與生成式 AI 功能的 ROS2 機器人 79折
  邊緣 AI - 使用 NVIDIA Jetson Orin Nano 開發具備深度學習、電腦視覺與生成式 AI 功能的 ROS2 機器人$580$458
- 
  
       79折
  Microsoft Azure AI Services 與 Azure OpenAI 開發基礎必修課 -- 使用 C# 79折
  Microsoft Azure AI Services 與 Azure OpenAI 開發基礎必修課 -- 使用 C#$550$435
商品描述
藉由實用工具與進階技術,對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 在 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) 和警告
  結論
  索引










 
     
     
     
     
     
     
     
     
    
 
    
