Call trace in java

There is btrace, that can be used for this kind of action.


If you want to trace the execution of your Java code you can use a tool called InTrace.

NOTE: InTrace is a free and open source tool which I have written.


We could create a new Throwable object which will have the call trace. And using some string manipulations, we can get the call stack.

Throwable t = new Throwable();
System.out.println(t.getStackTrace()[1].toString());

I'm not sure retrieving the info this way , is a good practice or not. :)


I think you might find this interesting. It is a java agent which adds entry and exit logging to methods, using the slf4j framework to actually log the output. Then it is a matter of configuring the logging framework to only print out that thread you are interested in.

http://www.slf4j.org/extensions.html#javaagent

(just to be explicit: 1) I wrote it, 2) it works for me :) )

Tags:

Java