import com.sun.btrace.annotations.*; import static com.sun.btrace.BTraceUtils.*; import static com.sun.btrace.BTraceUtils.Sys.*; @BTrace public class SessionCheck { @OnMethod( clazz="org.apache.catalina.connector.Request", method="getSession" ) public static void showSessionRequest() { println("######################################################"); jstack(); println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); } }
JVM의 PID를 확인한 뒤에
btrace [JVMPID] SessionCheck.java
Readhat(Centos) 6.4에서 다음과 같은 오류를 내며 btrace가 실행이 안됐다.
Invalid path <pid> specified: 2/No such file or directory
/usr/bin/btrace
가 존재하기 때문이며 실제로는 blktrace
라는 다른 프로그램을 실행시킨다. 따라서 $BTRACE_HOME/bin/btrace
명령을 명시적으로 실행할 것.