This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: printing kernel backtrace
- From: fche at redhat dot com (Frank Ch. Eigler)
- To: Nikolay Borisov <n dot borisov at siteground dot com>
- Cc: systemtap at sourceware dot org
- Date: Sat, 12 Dec 2015 09:38:21 -0500
- Subject: Re: printing kernel backtrace
- Authentication-results: sourceware.org; auth=none
- References: <566C1400 dot 1060108 at siteground dot com>
Hi -
n.borisov wrote:
> I've started experimenting with systemtamp and I'd like to print the
> callstack leading to the probed function.
Welcome!
> To that effect I have created the following very simple tapset:
(Just a terminology nit: a "tapset" is a set of script fragments for
automated reuse, kind of like libc. Yours is simply a script.)
> probe module("dm_thin_pool").function("do_waker") {
> print_syms(callers(-1))
> printf("finished backtrace\n");
> }
print_backtrace() would have been equivalent.
> However the output I get is something like that:
>
> 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool]
> 0xffffffff810a5025 : 0xffffffff810a5025
> 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool]
> 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool]
> [...]
> 0xffffffffa0152c80 : do_waker+0x0/0x40 [dm_thin_pool]
> 0xffffffffa0152c8 : 0xffffffffa0152c8
> finished backtrace
That doesn't look quite right, does it. I'd expect stap to produce
some messages about missing unwind/symbol information, but it's not
happening right this time.
The problem is probably that the unwind/symbol info for only your
module was included. Try running your script again, but add
-d kernel
to the stap command line.
- FChE