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,F6for step over和F7for
step return。
以上是 Eclipse调试器中的Step Into和Step Over有什么区别? 的全部内容, 来源链接: utcz.com/qa/407651.html
