Eclipse调试器中的Step Into和Step Over有什么区别?
我想调试Java程序的整个流程。Eclipse中F5
(进入)和F6
(进入)之间有什么区别?
回答:
考虑以下代码,将当前指令指针(将在下一步执行的行,由表示->
)放在f(x)
in 的行g()
,并由g(2)
in 的行调用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()
,从而结束函数调用。
调试器的另一个有用功能是单步 退出 或单步 返回。
在这种情况下,单步返回基本上将使您遍历当前函数,直到您返回一个级别。换句话说,它将逐步执行f(x)
和f(1)
,然后返回到调用函数,最后到达g(3)
in
main()
。
Eclipse(至少是Europa,这是我目前可以使用的唯一一个)F5
用于step into
,F6
for step over
和F7
for
step return
。
以上是 Eclipse调试器中的Step Into和Step Over有什么区别? 的全部内容, 来源链接: utcz.com/qa/407651.html