Showing posts with label BTrace. Show all posts
Showing posts with label BTrace. Show all posts

Wednesday, 12 November 2014

BTrace trace ClassLoader Leaking

If you want to trace the common ClassLoader leaking, you just probe where to invoke "ClassLoader#defineClass". The BTrace script as follow:
import com.sun.btrace.AnyType;
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;

@BTrace
public class Trace {

   @OnMethod(clazz = "+java.lang.ClassLoader", 
             method = "defineClass")
    public static void traceClassLoaderLeak(@ProbeClassName String clazz, @ProbeMethodName String method, @TargetInstance Object instance) {
        println("\n==== java.lang.ClassLoader#defineClass ====");
        jstack();
    }
}