2

私のプログラムの 1 つがどこかの位置で停止しています (例外ではなく、クラッシュしていないようにも見えます) が、その位置がわかりません。ブレークポイントを設定する (つまり、何かが発生する位置を既に知っている必要がある) 代わりに、最後に実行されたコード行 (=今より前) の情報を取得することは可能ですか? 私はEclipseを使用していますが、これはデバッグビューで何とか可能ですか?

ステップバイステップのコード実行のようなものを考えてみてください。ただし、ステップバイステップを何百万回もクリックしたくはありません。代わりに、Eclipse または他のツールがそれを実行してくれます。

これに関するヒントをありがとう!

4

3 に答える 3

1

ここに画像の説明を入力

私は同じ問題に直面しました。緑の矢印/三角形の右側に「一時停止」ボタン (2 つの縦の黄色のバー - 画像の右上を参照) があり、デバッガーで停止します。コードの一部を認識するまで、デバッグ スタックを注意深く調べる必要がある場合があります。

それは私にとって非常に役に立ちました - 私は正規表現で壊滅的な後戻りをしていました (終了するのに何年もかかる可能性があります!) そして、私はこれを推測したことはありませんでした.

[ブレークポイントがない場合は、ボタンを表示するためにデバッガー パースペクティブで開始する必要があります。]

于 2013-04-16T21:22:43.980 に答える
0

Eclipse では、デバッグ UI の「一時停止」ボタンをクリックすると、スレッドまたは VM 全体を一時停止できます。おそらく、なんらかの待機でハングアップしており、待機しているサービスを呼び出すコード内の行を見つけるために、スタック トレースをたどる必要がある場合があります。

于 2013-04-16T21:19:06.130 に答える
0

他の人が言ったように、Eclipseにはサスペンドボタンがあります。

しかし、古き良き方法は、大量のSystem.out.println("No problem so far at line 'x' " )ステートメントを追加し、手動でバグを追跡することです。

于 2013-04-16T21:26:19.343 に答える