Tags
Language
Tags
May 2024
Su Mo Tu We Th Fr Sa
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1

Linux Kernel Debugging: Leverage open source tools and advanced techniques to debug Linux kernel (Early Access)

Posted By: sammoh
Linux Kernel Debugging: Leverage open source tools and advanced techniques to debug Linux kernel (Early Access)

Linux Kernel Debugging: Leverage open source tools and advanced techniques to debug Linux kernel (Early Access)
English | ISBN: ‎ 9781801075034 | 571 pages | August 9, 2022 | True EPUB | 10.58 MB

Debug Linux kernel modules and the kernel itself by mastering powerful open source tools and advanced kernel debugging techniques

Key Features
Learn how to use a variety of kernel and module debug tools and techniques with the help of examples
Understand how to expertly interpret a kernel oops and identify the underlying defects
Includes easy-to-look up tables and simplified explanations of complex kernel-level defects
Book Description
The Linux kernel is at the very core of arguably the world’s best production-quality OS. Debugging it, though, can be a complex endeavor. Linux Kernel Debugging is a thorough guide to advanced kernel debugging.

This book covers a range of debugging techniques in detail, starting with instrumentation-based debugging techniques, the kernel's powerful Kprobes framework, printk, and friends. The book features two whole chapters devoted to the tools and techniques for debugging memory-related bugs. It also prepares you to interpret the underlying issue when the Linux kernel throws an oops. As you advance through the chapters, you'll be able to demystify concurrency by learning what data races are and how to handle them, including the use of modern features like Kernel Concurrency Sanitizer (KCSAN). You'll also discover how to overcome some thorny issues related to debugging and performance through detailed kernel-level tracing and learn to wield the power of Ftrace and its frontends. What's more? The book shows you how to deal with kernel hangs and panic, leverage the venerable GDB tool within the kernel, and much more.

By the time you complete reading this debugging kernel book, you'll have at your disposal, a whole range of powerful debug tools and techniques, along with a keen sense as to when to use which.

What you will learn
Instrumentation-based printk and the powerful dynamic debug framework
Use Kprobes statically and dynamically to trap into kernel or module functions
Catch kernel memory defects with KASAN, UBSAN, SLUB debug, and kmemleak
Precisely identify the source location of kernel and module bugs
Understand data races and use KCSAN to catch evasive concurrency defects
Leverage Ftrace and trace-cmd to trace the kernel flow in great detail
Write a custom kernel panic handler using the WD and hangcheck timer
Learn to use KGDB to single-step and debug kernel or module source code
Who This Book Is For
This book is for Linux kernel developers, module or driver authors, and testers interested in debugging and enhancing their Linux systems at the level of the kernel. System administrators who want to understand and debug the internal infrastructure of their Linux kernels will also find this book useful. A good hold of C programming and the Linux command line is necessary. Some experience with module or kernel development will be beneficial too.

Table of Contents
A General Introduction to Debugging Software
Approaches to Kernel Debugging
Debugging via Instrumentation - printk and friends
Debugging via Instrumentation – Using Kprobes
Debugging Kernel Memory Issues – Part 1
Debugging Kernel Memory Issues – Part 2
Oops! Interpreting the Kernel Bug Diagnostic
Lock Debugging
Tracing the Kernel Flow
Kernel Panic, Hangcheck, and Watchdogs
Using KGDB
Other Approaches to Kernel Debugging