diff options
author | Dave Brolley <brolley@redhat.com> | 2009-09-14 17:47:26 -0400 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-09-14 17:47:26 -0400 |
commit | 9df741675d7e36008869dfff46ccc602875dc091 (patch) | |
tree | 1deafeacb302f9154586708ada7a240470aa6b4a /testsuite/systemtap.exelib/libmarkunamestack.stp | |
parent | b232fab3a271c4c787462295d7ffbeca750c1092 (diff) | |
parent | 775c3771bb4a5f663a763d7c65b1571e24e4b212 (diff) | |
download | systemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.tar.gz systemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.tar.xz systemtap-steved-9df741675d7e36008869dfff46ccc602875dc091.zip |
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Conflicts:
aclocal.m4
configure
doc/SystemTap_Tapset_Reference/Makefile.in
testsuite/aclocal.m4
testsuite/configure
Diffstat (limited to 'testsuite/systemtap.exelib/libmarkunamestack.stp')
-rw-r--r-- | testsuite/systemtap.exelib/libmarkunamestack.stp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/testsuite/systemtap.exelib/libmarkunamestack.stp b/testsuite/systemtap.exelib/libmarkunamestack.stp new file mode 100644 index 00000000..0efbae0e --- /dev/null +++ b/testsuite/systemtap.exelib/libmarkunamestack.stp @@ -0,0 +1,72 @@ +// Jumbo stp script +// Arguments: @1 uprobes_exe, @2 libuprobes_lib.so + +# lib +probe process(@1).function("main") { + printf("main\n"); +} + +probe process(@1).function("main_func") { + printf("main_func\n"); +} + +probe process(@2).function("lib_main") { + printf("lib_main\n"); +} + +probe process(@2).function("lib_func") { + printf("lib_func\n"); +} + +#mark +probe process(@1).mark("main_count") { + printf("main_count: %d\n", $arg1); +} + +probe process(@2).mark("func_count") { + printf("func_count: %d\n", $arg1); +} + +#uname +probe process(@1).function("*") { + printf("exe: %s=%s\n",probefunc(), usymname(uaddr())); +} + +probe process(@2).function("*") { + printf("lib: %s=%s\n",probefunc(), usymname(uaddr())); +} + +# ustack +global hits = 0; + +probe process(@1).function("main_func") +{ + if (hits == 0) + { + log("print_ubacktrace exe 0"); + print_ubacktrace(); + hits++; + } + else if (hits == 1) + { + log("print_ustack exe 1"); + print_ustack(ubacktrace()); + hits++; + } +} + +probe process(@2).function("lib_func") +{ + if (hits == 2) + { + log("print_ubacktrace lib 2"); + print_ubacktrace(); + hits++; + } + else if (hits == 3) + { + log("print_ustack lib 3"); + print_ustack(ubacktrace()); + hits++; + } +} |