running systemtap on ubuntu 9.04 (32bit)

Stefan Bader stefan.bader at canonical.com
Tue Jan 19 08:36:56 UTC 2010


Peter Teoh wrote:
> stap -kvvvvvvvvvvvvvvvvvvvv timer.stp
> SystemTap translator/driver (version 0.8/0.131 non-git sources)
> Copyright (C) 2005-2009 Red Hat, Inc. and others
> This is free software; see the source for copying conditions.
> Session arch: i686 release: 2.6.28-17-generic
> Created temporary directory "/tmp/stapvww9Al"
> Searched '/usr/share/systemtap/tapset/i686/*.stp', found 2
> Searched '/usr/share/systemtap/tapset/*.stp', found 45
> Pass 1: parsed user script and 47 library script(s) in 260usr/10sys/314real ms.
> semantic error: libdwfl failure (missing i686 kernel/module debuginfo
> under '/lib/modules/2.6.28-17-generic/build'): No such file or
> directory while resolving probe point
> kernel.function("timer_interrupt")
> dwarf_builder releasing kernel dwflpp
> Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0
> global(s) in 10usr/0sys/2real ms.
> Pass 2: analysis failed.  Try again with another '--vp 01' option.
> Keeping temporary directory "/tmp/stapvww9Al"
> 
> and the timer.stp script is:
> 
> probe kernel.function("timer_interrupt")
> {
> printf("Called %s\n", probefunc());
> print_backtrace();
> }
> 
> ####probe timer.ms(10000) { exit () }
> 
> probe end {
>         printf("\nDONE\n")
> }
> 
> Can someone help me out with the "debuginfo" file availability on Ubuntu?

The build process is done with debugging info enabled, but the normal packages
will be created by stripping that info away. There usually are debug packages
(.ddeb) on ddebs.ubuntu.com/pool/main/l/linux. Usually because there has been a
cleansing that erased all of the old packages (likely because they are very big).

You can create the packages (with a few GB of diskspace and time) by following
the instructions on https://wiki.ubuntu.com/KernelTeam/StableKernelMaintenance.
To get the source, the simplest way is an "apt-get source
linux-image-2.6.28-17-generic". The actual build command needs to be modified to
use skipdbg=false: "fakeroot debian/rules binary-<flavour>". Replace flavour
with whatever flavour (generic, server, arch (=all)) you want.

-Stefan

> I did a grep:
> 
> uname -r
> 2.6.28-17-generic
> 
> grep -i debug_info /boot/config-2.6.28-17-generic
> CONFIG_DEBUG_INFO=y
> 
> And the current kernel (as apt-get updated, not custom compiled by me)
> did compiled with DEBUG INFO.
> 
> 





More information about the kernel-team mailing list