商品介绍
ISBN: 9786263248465
出版日期: 2024-07-29
作者: Kaiwan N Billimoria
譯者: 廖明沂
裝訂: 平裝.單色印刷.644頁.23.
藉由實用工具與進階技術,對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 N Billimoria
Kaiwan 在 Linux 系統程式設計的各方面都貢獻良多,包括 Bash、C 語言的系統程式設計、Kernel 內部研究、裝置驅動程式與嵌入式 Linux 系統。他積極地參與商業/自由和開放原始碼軟體專案,包括Linux 作業系統的驅動程式,以及許多放在 GitHub 的小型專案。他現已從事相關工作將近30年,著有《Hands-On System Programming with Linux and Linux Kernel Programming》。同時,他也是一個業餘跑者。

送货资讯
区域 | 订单总额 (RM) | 运费 (RM) |
---|---|---|
West Malaysia | 统一收费 | 6.00 |
区域 | 计算/重量 | 运费 (RM) |
---|---|---|
East Malaysia | 首 1.00 kg | 13.00 |
额外 1.00 kg | 5.00 | |
Singapore | 首 1.00 kg | 25.00 |
额外 1.00 kg | 5.00 | |
Australia, New Zealand | 首 1.00 kg | 159.77 |
额外 0.50 kg | 52.65 | |
Austria, Denmark, Finland, Ireland, Switzerland, Russia | 首 1.00 kg | 157.78 |
额外 0.50 kg | 34.31 | |
Brunei, Cambodia, Laos, Mongolia | 首 1.00 kg | 175.10 |
额外 0.50 kg | 87.14 | |
Belgium,France, Germany, Netherlands, Spain, U.K | 首 1.00 kg | 150.94 |
额外 0.50 kg | 30.46 | |
China | 首 1.00 kg | 96.44 |
额外 0.50 kg | 25.35 | |
Bangladesh, Brazil, Iraq, Pakistan, Qatar, S.Arabia, UAE, Sri Lanka | 首 1.00 kg | 118.52 |
额外 0.50 kg | 24.96 | |
South Africa | 首 1.00 kg | 118.52 |
额外 0.50 kg | 24.96 | |
Philippines | 首 1.00 kg | 91.42 |
额外 0.50 kg | 15.29 | |
Canada, United States, Mexico | 首 1.00 kg | 162.58 |
额外 0.50 kg | 35.90 | |
Hong Kong | 首 1.00 kg | 80.63 |
额外 0.50 kg | 29.06 | |
India | 首 1.00 kg | 113.30 |
额外 0.50 kg | 22.28 | |
Indonesia | 首 1.00 kg | 107.35 |
额外 0.50 kg | 24.87 | |
Japan | 首 1.00 kg | 112.97 |
额外 0.50 kg | 35.03 | |
Macau | 首 1.00 kg | 92.93 |
额外 0.50 kg | 13.82 | |
Singapore | 首 1.00 kg | 74.75 |
额外 0.50 kg | 21.49 | |
Taiwan | 首 1.00 kg | 94.42 |
额外 0.50 kg | 34.76 | |
Thailand | 首 1.00 kg | 94.10 |
额外 0.50 kg | 28.25 | |
Vietnam | 首 1.00 kg | 98.94 |
额外 0.50 kg | 14.34 |