1

私のプログラムは無限ループに入っているようですが、ヒープエラーなどは発生していません。それでも、ループがどこにあるのか知りたいです。

Eclipseを使用していて、通常モード(デバッグモードではない)で実行しています。また、私のプログラムは非決定論的であるため、無限ループを再作成するために再度実行することはできません。

無限ループを見つける方法はありますか?

4

2 に答える 2

1

1 つの方法は、無限ループが発生するまで待ってから、 を使用jstack -l <pid>してスタック ダンプを取得し、それを分析することです。

少し運が良ければ、これはさらなる調査のいくつかの行を示唆するはずです.

于 2013-01-22T13:51:37.537 に答える
0

プロファイラーVisualVMでアプリケーションを実行できると思います。無限ループを見つけるのに役立ちます(反復の分析、プロセスの読み込みなどのパラメーター)

于 2013-01-22T13:53:34.193 に答える