답변:
(로 표시 다음에 실행됩니다 라인, 현재 명령 포인터 다음과 같은 코드를 생각해 ->상기) f(x)라인 g()에 의해 호출 된, g(2)라인을 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)에서 main().
Eclipse (적어도 현재 유일하게 편리한 유일한 Europa)는 F5for step into, F6for step over및 F7for를 사용 step return합니다.
g(3);에서 main()" <- 당신은 당신에 도착한다고 가정하고 있습니까 현재 위치 에서 g(2)당신이 모두 완료되면 당신은 반환 의 다음 행으로 g(3)?
g(2)또는 g(3)호출이 현재 활성화되어있는) 내가 삭제 한 그래서 첫 번째 단락에서 그. 고마워요
코드 줄을 디버깅 할 때 일반적인 시나리오는 다음과 같습니다.
Eclipse에는 다른 고급 디버깅 기능이 있지만 이것이 기본 기본 사항입니다.
스텝 오버를 사용하여 방법의 세부 사항을 살펴볼 수 없습니다. 현재 줄을 건너 뛰려면 스텝 오버를 사용할 수 F6있으며 다음 줄로 이동하려면를 한 번만 누르면됩니다. 분석법에 문제가 있다고 생각 F5되면 세부 정보를 검토하십시오.