1

私のJavaアプリケーションには、try catch例外をトラップしようとしているいくつかの例外ブロックがあります。それらの多くは処理されるため、ユーザーには完全に透過的ですが、この問題の原因を診断できるように、変数の値と呼び出しスタック全体を含むダンプファイルを作成したいと思います。これは可能ですか?コードのブロックは想定どおりに機能しませんでしたが、前面ではすべて正常に見えますが、これらのダンプファイルを使用してアプリケーションをデバッグしたいと思います。

これまでのところ、私はこのようなことを何もせずに行ってきましたが、エラーの原因を特定することはほとんど不可能です。

ありがとう。

4

2 に答える 2

0

最初に確認するのはスタックダンプです。これは、いくつかの問題を診断するのに非常に役立ちます。QUITシグナルを(ターミナルでCtrl- \を押すか、コマンドを強制終了して)Javaプロセスに送信してみてください。

コマンドラインで-XX:+ HeapDumpOnOutOfMemoryErrorオプションを渡すことにより、メモリエラーが発生したときにヒープダンプを実行するようにJVMを設定することもできます。これを行ったら、適切なタイミングでコードにOutOfMemoryErrorを発生させてみてください。

于 2012-06-20T07:19:53.823 に答える
0

このようなタスクには、何らかのロギング フレームワークを使用する必要があります。私は通常これを使用します: Apache Log4JおよびSLF4J。問題の原因と思われる例外をログに記録する直前に、変数値をログに記録できます。

于 2012-06-20T06:51:59.387 に答える