いくつかのリクエストを処理した後、私のEclipseはprocessWorkerExit()メソッドを中断し始めました。EclipseがprocessWorkerExitで中断する
これによるとlink私は日食の崩壊を抑える方法を知っていますが、コードがこの行で壊れている理由は何ですか。このような場合にメモリリークが発生する可能性はありますか?
のTomcat 7.0.27
のEclipse 3.7.2
JDK 7.0.02
いくつかのリクエストを処理した後、私のEclipseはprocessWorkerExit()メソッドを中断し始めました。EclipseがprocessWorkerExitで中断する
これによるとlink私は日食の崩壊を抑える方法を知っていますが、コードがこの行で壊れている理由は何ですか。このような場合にメモリリークが発生する可能性はありますか?
のTomcat 7.0.27
のEclipse 3.7.2
JDK 7.0.02
コードによってスローされた例外があるため、デバッガはそのライン上で停止される理由でありますtry{}
ブロック内にあり、その特定のコード行は、例外がスローされた後の次の実行可能なコード行です。デフォルトでは、Thread.run()
にバブルするキャッチされない例外がstderr
に送信されるため、コンソールウィンドウでその例外のスタックトレースを確認できます。
メモリリークが発生する可能性がありますか(これはJava、リソースリークの可能性がありますか)についての質問は:答えはイエスです。はとなります。しかし、そのコードにはがであることを示すものは何もありません。そのようなリークがあった場合は、task
の実装内で誤った例外処理が行われていることがほぼ確実になります。
私はこの同じ問題を抱えていました。例外をログに記録しないとtry/catch句がある場合は、try/catch句でブレークします。あなたはtry/catchブロックは、上記のコードのようにそれを入れていない場合は
try
{
//HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
Log.e("tag", "Sth passed!");
}
catch (Exception e)
{
//The task failed
Log.e("tag", e.getMessage());
}
:このようLogCatにブレークポイントまたは出力を挿入してみてください。 LogCatでは、例外の前に実行された最後のコード行を見ることができます。これは、次のようにコード内でエラーを見つけるのに役立ちます。
08-28 05:49:52.321:E/SQLiteDatabase(834): java.lang.Thread.run(Thread.java:841)で
答えはここにある:OpenJDK breaks on processWorkerExit with no breakpoint
デバッグモードでは日食では、デフォルトでは、キャッチされない例外のブレークは がチェックされます。ここでキャッチメソッドがないので、例外がスローされる直前に 未キャッチ例外がスローされ、デバッガが のために破損している可能性があります。 [Java->デバッグ]の の環境設定でオフにすることができます。