Visual Studioでは、デバッグ時に実行ポイント(現在の命令ポインタ、黄色の点)を現在のメソッドの別の場所にドラッグできます。IntelliJで実行ポイントをドラッグできない理由(Visual Studioで可能)
これはIntelliJでは不可能であり、Javaでは一般的に不可能であるとの意見があります。どうして?
Visual Studioでは、デバッグ時に実行ポイント(現在の命令ポインタ、黄色の点)を現在のメソッドの別の場所にドラッグできます。IntelliJで実行ポイントをドラッグできない理由(Visual Studioで可能)
これはIntelliJでは不可能であり、Javaでは一般的に不可能であるとの意見があります。どうして?
IntelliJは、標準のJavaデバッグインタフェースを介して実行中のJVMとやり取りするため、異なるJDKに対してプログラムをデバッグすることができます。これは、記述したとおりに実行ポイントを移動することをサポートしていません。
コールスタックを巻き戻して再度メソッド呼び出しを実行できるようにします。 IntelliJでは、スレッドウィンドウを使用して、中断しているスレッドのスタックフレームを選択し、スレッドに戻します。次に、スレッドを続行して、プログラムのその時点でメソッドを再呼び出しします。
注:これはオブジェクトの状態をロールバックしないため、奇妙な結果が生じることがあります。
Javaには、ランダムなコードを指す現在の実行ポインタはありません。 Javaは、実行する順序がコード内にあるものと想定しています。操作するものではありません。
おそらく、あなたがこれをやりたい理由を説明することができ、同じことを達成する別の方法を教えてもらえるかもしれません。
デバッガに「実行する」行を前方に伝えることができます。
デバッグ中のメソッドを編集してデバッグ済みコードを更新すると、JVMは実行を最初の安全な場所にロールバックします。通常、これはそのメソッドの最初の行です。
これは、デバッグのシナリオで非常に役立ちます。
ちょうど同じ質問をしました。関連するリストが機能しています! – axk