0

最近、かなり大きなアプリケーションを C# から Java に移植しました。約 6 つのメイン スレッドを実行し、多くのタイマーを起動する必要があります (ただし、それぞれの実行は短時間だけです)。Timer クラスを利用して myTimer.schedule(new TimerTask() { ...

移植が終了した今、Eclipse でのアプリケーションのデバッグで問題が発生しています。特に最近はそうです。ブレークポイントを設定しました。Eclipse はブレークポイントにヒットしますが、その時点でステップスルーできません。変数の値やスタック トレースなどを確認できるとは思いません。

スレッドのリストがおかしくなっているのがわかります。私が書いた出力ステートメントに基づいて、Thread.activeCount() が 200 スレッドを超えていることがわかります。これが私のデバッグの問題かどうか知りたいです。Eclipse が狂ってしまうほどオーバーロードしましたか?

私が実際に見ることができるスレッドから、それらのほとんどは実行されたタイマーです。どこかで、キャンセルしてもJVMがそれらを存続させると読んだ(?)。とにかく、私が起動したすべてのタイマーが含まれている場合、おそらく 200 を超えるスレッドが理にかなっています。

今日、Eclipseの「メモリ不足」エラーも見ました。

何かアドバイス?ありがとう。

4

0 に答える 0