xkdebug, another Linux kernel debugger

John Heidemann (johnh@ISI.EDU)
Mon, 16 Oct 1995 14:15:49 -0700

To add some fire to the smoke about kernel debuggers in the
linux-kernel mailing list, I have modified David Hinds's kdebug-1.2
into xkdebug. David Hinds's kdebug has these features:

-- Kernel data structures can be read and modified using the usual
gdb commands for manipulating program variables.

-- The debugger state can be initialized using a kernel trap report,
or with the current state of a process that is blocked in the

-- Kernel functions can be invoked using the gdb "call" command, and
can be used in expressions.

-- Requires only a single computer.

Xkdebug adds:

-- Breakpoints can be set in kernel code to observe the status of
the world at a particular point of time.

-- Kernel code can be single-stepped.

-- Hinds's support for the gdb "call" command is broken.

An alpha version of xkdebug is available from
This version is alpha because:

- This work hasn't seen extensive testing.

- "Call" is broken. I'm working to fix that.

- I'd like to merge my patches in with Hinds's work
so there's one less program in the world.

If xkdebug is successful, and when these issues are worked out,
I'll upload xkdebug to sunsite.unc.edu.

Comments are welcome.

-John Heidemann