Search code examples
javaprofilerctagsdynamic-invoke

Generating a Call Hierarchy for dynamicly invoked method


Today's world of dynamic invoke, reflection and runtime injection just doesn't play well with traditional tools such as ctags, doxygen and CDOC.

I am searching for a method call hierarchy visualization tool that can display both static and dynamic method invocations. It should be easy to use, light during execution and provide helpful detailed information about the recorded runtime session.

Now I guess Callgrind could be considered a valid solution for the family C.

What tool / technique could you suggest to create a call graph for both static and dynamic method invocation for JVM based bytecode? The intended end result is a graphical display (preferably interactive) which can show path from main() to each method that was invoked.

During research for this post I stumbled upon javashot, it seems that this is the kind of approach I'm aiming at, I would prefer that this would be integrated into a kind of profiler or alike which than can be used from within my IDE (Eclipse, IntelliJ, Netbeans and alike).

Thank you, Maxim.


Solution

  • Most Java profilers do this. JProfiler does it particularly well, by showing the call graph is a very user accessible way.