[Dwarf-discuss] Application of DWARF to kernel analysis
Thu Nov 10 13:11:36 GMT 2005
There is a new application of DWARF2 and I thought folks
on this list would be interested in hearing about it.
It recently moved to SourceForge where all can use it.
Cliff Wickman provided this summary at my request.
David Anderson, davea at sgi dot com
Converting DWARF to DWARF
Debugging the Linux kernel presents a need for thousands of kernel
structure definitions. But it is not possible to compile all the kernel
include files at once. So how do you collect all kernel structures?
Someone in an SGI class once asked then-instructor Cliff Wickman
why we cannot compile the kernel and its modules with -g and then
collect all their DWARF information into one file. The answer was
that we have no such tool.
Hence the idea for dwarfextract.
The program uses the DWARF consuming library routines to extract the
types. It eliminates duplicates. Then turns around and feeds them to
the DWARF producing routines. It creates a "kerntypes" file that looks
like an ELF binary but contains nothing but DWARF information.
This kerntypes file is used by the lcrash kernel debugger to
cast memory images as any kernel type.
The dwarfextract tool is part of the Linux Kernel Crash Dump (LKCD)
project. The project can be downloaded from sourceforge by:
export CVSROOT=":pserver:anonymous at cvs.sourceforge.net:/cvsroot/lkcd"
cvs login # Press enter (eg no password) when prompted
cvs -z3 co lkcd/7.X.X/lkcdutils
cd lkcd/7.X.X/lkcdutils ; ./configure
More information about the Dwarf-discuss