最近、かなり大きなアプリケーションを C# から Java に移植しました。約 6 つのメイン スレッドを実行し、多くのタイマーを起動する必要があります (ただし、それぞれの実行は短時間だけです)。Timer クラスを利用して myTimer.schedule(new TimerTask() { ...
移植が終了した今、Eclipse でのアプリケーションのデバッグで問題が発生しています。特に最近はそうです。ブレークポイントを設定しました。Eclipse はブレークポイントにヒットしますが、その時点でステップスルーできません。変数の値やスタック トレースなどを確認できるとは思いません。
スレッドのリストがおかしくなっているのがわかります。私が書いた出力ステートメントに基づいて、Thread.activeCount() が 200 スレッドを超えていることがわかります。これが私のデバッグの問題かどうか知りたいです。Eclipse が狂ってしまうほどオーバーロードしましたか?
私が実際に見ることができるスレッドから、それらのほとんどは実行されたタイマーです。どこかで、キャンセルしてもJVMがそれらを存続させると読んだ(?)。とにかく、私が起動したすべてのタイマーが含まれている場合、おそらく 200 を超えるスレッドが理にかなっています。
今日、Eclipseの「メモリ不足」エラーも見ました。
何かアドバイス?ありがとう。