Interstage Application Server/Interstage Web Server チューニングガイド |
目次 索引 |
第7章 JDK/JREのチューニング | > 7.3 チューニング/デバッグ技法 |
Javaアプリケーションで例外(java.lang.Throwableのインスタンス)がスローされた場合などに出力されるスタックトレースは、エラーが発生するまでの経緯(メソッドの呼び出し順番)が示されています。このスタックトレースを解析することにより、エラーが発生した箇所と原因を確認することができます。
スタックトレースの出力先は、標準エラーです。通常のJavaアプリケーションの場合は、コンソールに出力されますが、Servlet/JSP/EJBアプリケーションの場合は、コンテナ情報ログ(info.log)に出力されます。
Javaでスローされた例外をcatch節でキャッチし、例外のprintStackTraceメソッドを実行することにより、スタックトレースを出力することができます。
java.lang.Throwable.printStackTrace()でスタックトレースを出力する方法を、図1に示します。
図1 printStackTraceメソッドでスタックトレースを出力する方法
try {
SampleBMPSessionRemote bmpSessionRemote = bmpSessionHome.create();
} catch(Exception e) {
e.printStackTrace();
}
なお、スローされた例外をtry-catch構文で処理するメソッドがスレッドにない場合、そのスレッドは停止され、Java VMによってスタックトレースが出力されます。
スタックトレースの出力フォーマットを、図1に示します。
図1 スタックトレースの出力フォーマット
例外クラス名: エラーメッセージ
at クラス名.メソッド名1(ソース名:行番号) 呼び出し先
at クラス名.メソッド名2(ソース名:行番号) ↑
at ... 呼び出し元
目次 索引 |