回答:
次のコードで、現在の命令ポインタ(次に実行される行、で示される->)が、f(x)行でg()呼び出されたとg(2)しmain()ます。
public class testprog {
static void f (int x) {
System.out.println ("num is " + (x+0)); // <- STEP INTO
}
static void g (int x) {
-> f(x); //
f(1); // <----------------------------------- STEP OVER
}
public static void main (String args[]) {
g(2);
g(3); // <----------------------------------- STEP OUT OF
}
}
あなたがステップした場合に、その時点で、あなたはに移動しますprintln()内の行f()の関数呼び出しにステップイン、。
その時点でステップオーバーすると、関数呼び出しをステップオーバーして、のf(1)行に移動しg()ます。
デバッガーのもう1つの便利な機能は、ステップアウトまたはステップリターンです。その場合、ステップリターンは基本的に、1つ上のレベルに戻るまで現在の関数を実行します。言い換えるf(x)とf(1)、and をステップ実行し、呼び出し元の関数に戻ってg(3)inになりmain()ます。
Eclipse(少なくともEuropa、現時点で私が唯一手に入れているもの)は、for 、for 、for を使用F5しています。step intoF6step overF7step return
g(3);にmain()」< -あなたはあなたに得たことを想定して現在の場所からg(2)、あなたがすべて完了したら、あなたが返すその次の行にg(3)?
g(2)またはg(3)通話が現在アクティブかどうか)ので、最初の段落でそれをクリアしました。ヘッドアップをありがとう。
コード行をデバッグするときの通常のシナリオは次のとおりです。
Eclipseには他にも高度なデバッグ機能がありますが、これらは基本的な基礎です。
ステップオーバーを使用してメソッドの詳細を確認することはできません。現在の行をスキップする場合は、ステップオーバーを使用できます。次に、F6を一度押すだけで次の行に移動できます。また、メソッドに問題があると思われる場合は、を使用F5して詳細を確認してください。