Aprof

by Devexperts

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...