Debugging Linux Kernel in Deep Part 2

KGDB, KDB, GDB

User space processes can be debugged using gdb. With gdb you can

  • single-step,

  • stop,

  • resume,

  • put break-points,

  • inspect memory and variables,

  • look through call stack information

What if we can use gdb on running Linux Kernel.

Problem:

How can a gdb debug running kernel as it is just a user space process.

Solution:

Client/Server Architecture

User space programs can be debugged remotely using the combination of gdbserver on the target machine and gdb on the host machine/development machine.

The Linux kernel has a GDB Server implementation called KGDB. It communicates with a GDB client over network or serial port connection

In this course we will learn:

  • How to setup KGDB

  • Various ways of getting the target into development machine

  • Setting Breakpoints

  • Printing and Setting Variables

  • Using a single serial port for both kgdb and console messages

  • Getting the kernel messages in gdb window

  • Debugging Linux Kernel Modules (In-Tree, out of tree)

  • Use of GDB Scripts present in the Linux Kernel

  • Course Category: IT & Software
  • Size: 1.6 GiB
  • Download: Download
  • Rating: 4.85