回答:
次のコードで、現在の命令ポインタ(次に実行される行、で示される->
)が、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 into
F6step over
F7step return
g(3)
;にmain()
」< -あなたはあなたに得たことを想定して現在の場所からg(2)
、あなたがすべて完了したら、あなたが返すその次の行にg(3)
?
g(2)
またはg(3)
通話が現在アクティブかどうか)ので、最初の段落でそれをクリアしました。ヘッドアップをありがとう。
コード行をデバッグするときの通常のシナリオは次のとおりです。
Eclipseには他にも高度なデバッグ機能がありますが、これらは基本的な基礎です。
ステップオーバーを使用してメソッドの詳細を確認することはできません。現在の行をスキップする場合は、ステップオーバーを使用できます。次に、F6を一度押すだけで次の行に移動できます。また、メソッドに問題があると思われる場合は、を使用F5して詳細を確認してください。