This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to track the functions in self-written module using SystemTap?


Hi David,

My OS is RHEL 7.0, but run on VirtualBox:

# stap -V
Systemtap translator/driver (version 2.4/0.158, rpm 2.4-14.el7)
Copyright (C) 2005-2013 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
enabled features: AVAHI LIBRPM LIBSQLITE3 NSS BOOST_SHARED_PTR
TR1_UNORDERED_MAP NLS DYNINST JAVA LIBVIRT LIBXML2

run "# stap -e 'probe
module("/root/kernel/105.ops/kex.ko").function("*") { printf("%s\n",
ppfunc()) }'", but
run "insmod kex.ko" & "rmmod kex" still outputs nothing.

Best Regards
Nan Xiao


On Tue, Dec 1, 2015 at 5:52 AM, David Smith <dsmith@redhat.com> wrote:
> On 11/26/2015 12:10 AM, Nan Xiao wrote:
>> Hi David,
>>
>> I do "insmod kex.ko" and "rmmod kex" repeatedly, but It seems the
>> related probes can't be triggered:
>>
>> # stap -l 'module("/root/kernel/105.ops/kex.ko").function("*")'
>> module("/root/kernel/105.ops/kex.ko").function("_open@/root/kernel/105.ops/kex.c:21")
>> module("/root/kernel/105.ops/kex.ko").function("_read@/root/kernel/105.ops/kex.c:45")
>> module("/root/kernel/105.ops/kex.ko").function("_release@/root/kernel/105.ops/kex.c:33")
>> module("/root/kernel/105.ops/kex.ko").function("copy_to_user@/usr/src/kernels/3.10.0-123.el7.x86_64.debug/arch/x86/include/asm/uaccess_64.h:72")
>> module("/root/kernel/105.ops/kex.ko").function("kex_cleanup@/root/kernel/105.ops/kex.c:90")
>> module("/root/kernel/105.ops/kex.ko").function("kex_init@/root/kernel/105.ops/kex.c:61")
>> # stap -e 'probe
>> module("/root/kernel/105.ops/kex.ko").function("kex_init"),
>> module("/root/kernel/105.ops/kex.ko").function("kex_cleanup")
>> {print_backtrace()}'
>
> Hmm. Note that I've done a good bit of work in the area of catching
> module init functions recently. What version of systemtap are you
> working with?
>
> Let's see if systemtap can catch anything in your module. Try something
> like:
>
> # stap -e 'probe module("/root/kernel/105.ops/kex.ko").function("*") {
> printf("%s\n", ppfunc()) }'
>
> --
> David Smith
> dsmith@redhat.com
> Red Hat
> http://www.redhat.com
> 256.217.0141 (direct)
> 256.837.0057 (fax)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]