There are various system-wide debug tools (sysprof, oprofile, systemtap) that need debug symbols. Getting debug symbols for userspace applications is easy: https://wiki.ubuntu.com/DebuggingProgramCrash

The ddebs repository also contains linux-image-$(uname -r)-dbgsym packages, but even if I install it, sysprof continues to show me unhelpful "in kernel" without detailed information. Where can I get debug symbols that sysprof can use?

The systemtap package has a Suggests: linux-debug-2.6. Apt-cache search fails to find anything called linux-debug-2.6. Is it available somewhere? Or is this an unproductive dead-end?

Incidentally, oprofile can use the debug symbols from the above-mentioned dbgsym package, but not out of the box -- it wants /lib/modules/$(uname -r)/build/vmlinux, and I have to tell it to use use /usr/lib/debug/boot/vmlinux-$(uname -r)-generic. But oprofile lacks a nice GUI, so I'd prefer sysprof.

So, how can I convince sysprof to show me what's happening in the kernel?

  • Can sysprof even do that? The website claims "Detailed, accurate, profiling of the entire Linux system, including both the kernel and all userspace application", but none of the example screenshots show any in-kernel symbols. – Marius Gedminas Oct 3 '10 at 23:23

As far as I can tell, I was mistaken and sysprof doesn't actually provide any level of detail beyond "in kernel". Here's sysprof-1.0.12/process.c, lines 350 through 355:

    if (address == 0x1)
        kernel.name = "in kernel";
        kernel.address = 0x0001337;
        return &kernel;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.