Question about java probe
Shuxin Yang
shuxinyang.oss@gmail.com
Mon Mar 27 16:45:00 GMT 2017
Hi, There:
I have bunch of questions about java probe. The stap I'm using is
built from the most recent release without any special flags.Tons thanks
in advance for the help!
Q1: I find an example here:
https://developers.redhat.com/blog/2014/01/10/probing-java-w-systemtap/
The statement 'printf("hit ... %d\n", $arg1)' print a wrong
value. However, if I change this statement to 'printf("hit ... %s\n",
arg1)', then it works. Why so?
Q2: follow the example in Q1. What if the function being probed has a
non-primitive typed parameter. Say argument foo of type Foo. Is it
possible to access foo's data member, or call its member function.
Q3: Look like print_java_stack() only prints the stack of the thread
in question; It does *not* print all threads' stack. Am I right?
Q4: How to print java stack when a system call is hit? I try to call
print_java_stack() inside system call probe function, and get nothing.
Should I call other function? Or it's impossible for now? If this is the
case, is it possible to hack the systemtap to take advantage of the
perf-jit support (https://lwn.net/Articles/633846/) to print the java
stack of JIT-ed code?
Thanks
Shuxin
More information about the Systemtap
mailing list