In the current version (build 3031):
- Does not work on JVM 1.8.0_20 and on JVM 1.7.0_65 (VerifyError on transformed classes) due to a bug in JVM: http://bugs.java.com/view_bug.do?bug_id=8051012
For Java 8, use 1.8.0_25 or later. For Java 1.7.0 use 1.6.0_60 or turn off verifier with "-noverify" option.
- Does not work on some releases of 1.6 (1.6.0_21 crashes with FATAL ERROR), but otherwise works in Java 5 to Java 8.
- Does not fully analyze inheritance hierarchy when tracking configured method invocations. It does not intercept locations of invocations of tracked methods that are performed via a subtype that inherits the tracked method, It does misleadingly report invocation locations of a non-tracked method that happen to go via super-type that declares a tracked method for some other implementation of this type where this method is tracked.
- Reports memory allocations that are performed in Java 8 during lambda capture of variables from the scope as belonging to a location in some internal "xxx$Lambda$xxx" class, not in the actual source code method that creates this lambda.
- Does not include Java 8 run-time library method (collections, streams, etc) in the default list of tracked methods.