アプリケーションで問題が発生した場合、問題の詳細をデバッグするには、特に再起動により前のファイルが削除される場合は、システムを再起動する前に関連データを収集してください。
収集する重要なファイルは次のとおりです。
クラッシュの問題に関するコア・ファイル。
Javaのクラッシュの場合に出力されるhs_err
テキスト・ファイル。
ログ・ファイル: Javaおよびアプリケーションのログ。
-XX:+HeapDumpOnOutOfMemoryError
のJavaヒープ・ダンプ。
Javaフライト記録(有効な場合) - 問題によってアプリケーションが終了しなかった場合は、連続記録をダンプします。
アプリケーションが応答しない場合は、次のファイルを収集します。
スタック・トレース: システムを再起動する前に、jcmd <pid> Thread.print
を使用して複数のスタック・トレースを取ります。
フライト記録をダンプします(有効な場合)。
コア・ダンプの強制: アプリケーションを正常に閉じることができない場合は、LinuxまたはSolarisシステムで、アプリケーションを停止し、kill -6 <pid>
を使用してコア・ファイルを強制します。
ロギング・フレームワークの使用は、後のデバッグを可能にするための良い方法です。特定のモジュールで問題が発生する場合は、そのモジュールのロギングを有効にできる必要があります。また、情報、デバッグ、トレースなどの異なるロギング・レベルの指定も役立ちます。java.util.logging
フレームワークの使用方法の詳細は、Javaロギング・テクノロジを参照してください。