我想调试Java程序的整个流程。 eclipse中 F5 (步入)和 F6 (跳过)有什么区别?
答案 0 :(得分:247)
考虑以下代码,使用f(x);
中g()
行的当前指令指针(下一步将执行的行),g(2)
行调用main()
1}}:
public class testprog {
static void f (int x) {
System.out.println ("num is " + (x+0)); // <- step into
}
static void g (int x) {
-> f(x); // <----------------------------------- current location
f(1); // <----------------------------------- step over
}
public static void main (String args[]) {
g(2);
g(3); // <----------------------------------- step out of
}
}
如果您此时要将加入,您将转到println()
中的f()
行,进入函数调用。
如果您此时步骤 ,您将转到f(1);
中的g()
行,逐步调用函数调用。
调试器的另一个有用功能是步骤 out 或step return 。在这种情况下,步骤返回将基本上引导您完成当前函数,直到您返回一个级别。换句话说,它将逐步执行f(x)
和f(1)
,然后返回到调用函数,最终位于g(3);
中的main()
。
Eclipse(至少是Europa,这是我目前唯一得到的方便)对step into
使用 F5 ,对{{1}使用 F6 step over
的 F7 。
答案 1 :(得分:124)
调试代码行时,通常情况如下:
Eclipse具有其他高级调试功能,但这些是基本的基础知识。
答案 2 :(得分:19)
答案 3 :(得分:3)
您无法通过使用步骤查看方法的详细信息。 如果要跳过当前行,可以使用跳过,然后只需按 F6 一次即可移动到下一行。 如果您认为方法中存在某些错误,请使用 F5 检查详细信息。
答案 4 :(得分:1)
Step Into 调用当前所选行的下一个表达式,并在执行的方法中的下一个可执行行暂停执行。
跳过执行当前选定的行并暂停到下一个可执行行。
答案 5 :(得分:0)