trace : Java Glossary
home T words local find no local find frame, full screen Google search web for topic jump to footer translate with Babelfish 2008-01-24 by Roedy Green ©1996-2008 Canadian Mind Products
Go to : punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
trace
To analyse the flow of program logic, step by step is called tracing. Usually you would use a tool called a debugger to do this for you. One simple tool is Throwable.getStackTrace() which will tell you where you are in the code, and how you got there. The following technique lets you put the name of the current method in error messages, or the name of the caller of the currrent method, or its caller etc. You might use it something like this:

Throwable t = new Throwable();
StackTraceElement[] es = t.getStackTrace();
for ( int i=0; i<es.length; i++ )
   {
   StackTraceElement e = es[i];
   System.out.println( " in class:" + e.getClassName()
                       + " in source file:" + e.getFileName()
                       + " in method:" + e.getMethodName()
                       + " at line:" + e.getLineNumber()
                       + " " + ( e.isNativeMethod() ? "native" : "" ) );
   }

imAt() in the following code sample will print out at com.mindprod.mypackage.Myclass.doSomething line 34. You could use similar code to return the name of the current class or method. Unfortunately, support for the methods this relies on is not guaranteed in all implementations.

In older Javas you will have to make do with new Throwable().printStackTrace(), or you can catch an exception and print with e.printStackTrace(). Thread.dumpstack() is a convenience method to do just that.

To get a stack dump on an exception use:

try
   {
   ...
   }
// printing a stack trace on an exception
catch ( Exception e )
   {
   e.printStackTrace();
   // or
   e.printStackTrace( System.err );
   }

Calling Class

Here is how to find out what class is calling you:

Learning More

Sun’s Javadoc on the StackTraceElement class : available:
Sun’s Javadoc on the SecurityManager class : available:

CMP_homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.18] Spread the Net
You are visitor number 12,610.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/Mindprod website mirror)
http://mindprod.com/jgloss/trace.html J:\mindprod\jgloss\trace.html