Jav*_*ser 178 java eclipse debugging
我想调试Java程序的整个流程.eclipse中的F5(step into)和F6(step over)有什么区别?
pax*_*blo 255
请考虑以下代码,其中包含当前指令指针(将在下->
一行执行的行),该行f(x)
已被以下g()
行中的行调用g(2)
:
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
}
}
Run Code Online (Sandbox Code Playgroud)
如果你要进入那一点,你将进入该main()
行println()
,进入函数调用.
如果你在这一点上跳过,你将移动到该f()
行f(1)
,踩过函数调用.
调试器的另一个有用功能是退出或退回.在这种情况下,步骤返回将基本上引导您完成当前函数,直到您返回一个级别.换句话说,它会逐步完成g()
和f(x)
,然后再返回到调用函数在结束了f(1)
在g(3)
.
Eclipse(至少是Europa,这是我目前唯一使用的那个)用于F5for main()
,F6for step into
和F7for step over
.
pol*_*nts 126
调试代码行时,通常情况如下:
Eclipse具有其他高级调试功能,但这些是基本的基础知识.
Dea*_*n P 14
与调试器通信的方法
(或者,我如何向祖母解释我的公路旅行)
Step Into: “当下一个要执行的语句到达方法调用时,不要执行整个方法,而是执行该方法的第一行并停止”
Step Over: “当下一个要执行的语句到达方法调用时,整体执行该方法并停止”
Step Out: “完成被调用者代码的执行,并在执行返回到调用者时停止”
继续: “执行到下一个断点”
这是一个很好的例子来实际演示上述概念:
您无法通过使用 step over 来查看方法的详细信息。如果你想跳过当前行,你可以使用step over,那么你只需要按F6一次就可以移动到下一行。如果您认为方法中存在错误,请使用F5来检查细节。
归档时间: |
|
查看次数: |
100473 次 |
最近记录: |