Answers:
考虑以下代码,将当前指令指针(将在下一步执行->
的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的(至少欧洲,这是唯一一个我此刻派上用场)使用F5的step into
,F6用于step over
与F7供step return
。
g(3)
;在main()
” < -你假设你有你的当前位置的距离g(2)
,一旦你就大功告成了,你返回到它的下一行g(3)
?
g(2)
还是g(3)
正在进行通话),因此我在第一段中已经将其清除。感谢您的注意。
调试代码行时,以下是常见的情况:
Eclipse还具有其他高级调试功能,但这是基本的基础。
您无法通过使用逐步方法来详细了解方法。如果要跳过当前行,可以使用单步执行,然后只需要按F6一次即可移至下一行。而且,如果您认为该方法中存在某些错误,请使用F5来检查细节。
进入步骤在当前选择的要执行的行上调用下一个表达式,并在调用的方法中的下一个可执行行暂停执行。
单步 执行将执行当前选择的行,并在下一个可执行行上挂起。