33

現在の実行行を同じ関数内の特定の行に強制し、中間行をスキップする可能性があります。私の古い学校のデバッガーにはすべてこの機能がありましたが、Eclipse では見つかりません。コードを変更せずにそれを行う方法はありますか?

4

5 に答える 5

14

最初の 2 つの回答は、私が質問を理解していない限り、トピックを見逃しているようです。

私の理解、私が自分で検索した機能は、(コードをステップインするときに)いくつかの行をスキップし、(アセンブリ語彙を取得するために)プログラムカウンターを特定の行に設定したいということです。コストのかかるオブジェクトの作成をスキップしたり、エラー状況を確認したりするのは興味深いかもしれません。以前は、Visual Studio (C または C++ コード) でそれを行っていました。

私はEclipseでもNetBeanでもそれを見つけていません。これは、JVM の制限であるか、何らかのポリシーの強制である可能性があります...

行まで実行コマンドは、もちろん、現在の実行位置と指定された行の間のすべての行を実行します。

于 2008-10-10T15:18:03.560 に答える
11

私も長い間この機能を求めていましたが、「実行して行を実行」は同じものではありません。

これは、JVM の制限である可能性があります。Java には goto が実装されていませんが、break や continue などのジャンプステートメントはあります。ただし、これらはブロックレベルです。これが JVM の制限である場合、セキュリティ アーキテクチャが原因である可能性が高いと思います。プログラム カウンターの厳密な制御は、ウイルスなどの侵入者にとっては衰弱につながります。悲しいことに、デバッガーも同様です。

于 2008-10-14T00:55:20.197 に答える
2

それはJavaでは不可能だと思います。「ステップバック」できる唯一の機能は、現在のフレームの最初の命令に戻る「ドロップ・トゥ・フレーム」を使用することです。少なくとも、この特定の機能を備えたデバッガーは見たことがありませんが、ネット上でその理由を見つけることができませんでした...

VisualCのデバッガーでポインターに変更できることは知っています。私は検索を続けます、多分少なくとも私達はなぜこのようなものであるかを知るでしょう、しかしそれはある種の設計上の制限のようです。

于 2008-10-13T11:04:39.670 に答える
-5

「Run to line」を使用するには、プログラムを実行し、一時停止状態にする必要があるようです。もう 1 つのオプションは、デバッグ モードでの実行時にその行にブレークポイントを設定することです。

  1. ソース ペインの左端の垂直バーを同じ行でダブルクリックして、ブレークポイントを追加します。また、
  2. 行を選択し、[実行] > [ブレークポイントの切り替え] に移動します。

少なくとも、これは Eclipse 3.3.2 にあります。

于 2008-10-10T13:50:48.633 に答える