2011-01-04 26 views
48

最近、Eclipse Galileoのデバッグモードでプログラムを実行する速度が非常に遅くなっています。デバッグモードでプログラムを実行するのが遅い

私は何の変更も認識していません。

原因が分かっていますか?それを正常に実行することは問題ではありません。

+1

何らかのプロファイリングが有効になっていますか? – Schultz9999

+0

私はガリレオからヘリオスに切り替えましたが、改善はありませんでした。 –

+0

プロファイリングを有効/無効にするにはどうすればよいですか? –

答えて

143

もう1つの「デバッグブレーク」は、メソッドのエントリ/終了ブレークポイントの使用です。

すべてブレークポイントの定義を削除しようとしましたか?

時々私はEclipseが内部/表示状態の一部と同期しなくなっていると思います。おそらく、作業領域の新しい(コピーではない)セットアップを試みるべきです。これは時々偽の機能から回復するのに役立ちます。

これは、あなたがすべてのブレークポイント

のEclipse削除することができますどのようにされた - >実行 - >すべてのブレークポイントを削除 - すべてのブレークポイントを除去するために、すべての時間のために

Eclipseを - > [ファイル名を指定して実行] - > [すべてのブレークポイントをスキップ - のために一時的なブレークポイントの削除

+0

私は新しいワークスペースを作成し、そこに新たにチェックアウトしました。これで、デバッグは例外として動作します。あなたは私の古いワークスペースをどのように修正できるか知っていますか? –

+4

ワークスペースの.metadataディレクトリにある約1.000.000ファイルの意味を知りたい場合を除き、放棄することを推奨します。私はどのように回復するのか分かりません...コマンドラインに一度 "クリーン"を追加するというおとぎ話がありますが、決して助けられませんでした... – mtraut

+7

Eclipseを "-clean"で起動すると、それが修正されました。 :-) –

5

エクスプレッションパネルに式が追加されていることを忘れていることが多くありました。これは、評価されていない(または評価に失敗しています)必要がなくなり、 。必要がない場合は、これらの式をクリアしておいてください。

+0

いいえ、私は有効になっていません。 –

4

あなたはどんな種類のJVMに接続していますか?私の経験では、デバッグモードでIBM JDKが地獄のように遅いことがわかりました。 すべてのJVMについて、条件が高価な条件付きブレークポイントがあるかどうかを確認してください。ブレークポイントを無効にしてみてください。例外ブレークポイントや式があるかもしれません。無効にするか、削除してみてください。

0

通常、Java仮想マシンはデバッグモードで実行中のジャストインタイムコンパイラ(JIT)をオフにします。 IBM WebSphereでは、IBM JDKは大幅に最適化されず、非常に遅くなります。 ところで、デバッグを行うと、コードを再コンパイルして最適化することも不可能になります。

複雑なデバッグのためのロギング時のリレー:プロダクションの日数を節約し、確実にデバッグすることはできません。

+0

*通常、Java仮想マシンはデバッグモードで実行中のジャストインタイムコンパイラ(JIT)をオフにします*これは真実ではありません。ブレークポイントが設定されたときにメソッドが正常に最適化され、メソッドがインタープリターによって最適化され実行されます。 – bestsss

+0

古いIBM JVM(1.4-)は、実際には非常に遅かったです。とにかく、スタックトレースを再構築するなどの方法を最適化していないのは、SLOW操作ですね。 – daitangio

+0

デバッグモードでは、ブレークポイントにのみ最適化が必要です。スタックトレースを単独で取得するのではなく、脱最適化は、もちろん、非常に遅いプロセスです。スタックトレースをプリントしないか、getStackTraceが呼び出されない場合、スタックトレースは必要な場合を除いて生成されてはならない(つまり、スタックを歩く)べきではない(SHOULD)。 SunとIBMのJVM 1.4の両方がデバッグモードで標準速度で動作します(Sunについては – bestsss

14

私はデバッグなしでほぼ​​即時だったEclipseデバッグモードでプログラムを実行していましたが、デバッグモードで実行したときには非常に遅かったです。私は通過し、私が使用していなかった無作為な無駄なブレークポイントを大量に削除してから、プログラムが多く(200倍程度)スピードアップしました。 Windows上の

+0

)これは私のために役立ちました - 私は同じワークスペース内の他のプロジェクトからブレークポイントを持っていました。それらはすべて削除され、現在のプログラムデバッグは – JavaTec

1

クリア一時ファイルが

"C:\\Documents and Settings\\{user}\\Local Settings\\Temp" 
3

閉じる日食...明確な%temp%フォルダ、Tempフォルダ私のためにそれを固定... ...ブレークポイントを無効にし、ほとんどの場合、これは間違いなく問題を解決します。

23

私はこの問題に多大な時間を要しました。解決は簡単です。すべてのブレークポイントを削除してください。 (実行>>すべてのブレークポイントを削除してください)

+4

これは受け入れられた答えの正確な複製です... – JAL

+0

これは私のために働いた。私はあまりにも多く(数十)あった。 –

0

私の場合、Eclipseはファイルを作成しようとしていましたが、手動で行っていました。 ウィンドウ - >環境設定 - >実行/デバッグ - >起動し、一般オプションの下にある "起動前にビルド(必要な場合)"を無効にすると、遅さが解消されました。

2

「ステップ操作後にメソッドの結果を表示」を無効にします。

Show method result after a step operation

関連する問題