Рассмотрим следующий код с указателем текущей инструкции (строка, которая будет выполняться далее) в строке 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); // <----------------------------------- current location
f(1); // <----------------------------------- step over
}
public static void main (String args[]) {
g(2);
g(3); // <----------------------------------- step out of
}
}
Если в этот момент вы перейдете в , вы перейдете к строке println()
в f()
, перейдя к вызову функции.
Если в этот момент вы перешагнули на , вы перейдете к строке f(1);
в g()
, перешагнув через вызов функции.
Еще одна полезная функция отладчиков - это шаг из или шаг return . В этом случае пошаговый возврат будет в основном проходить через текущую функцию, пока вы не вернетесь на один уровень вверх. Другими словами, он пройдет через f(x)
и f(1)
, затем вернется к вызывающей функции, чтобы в итоге получить g(3);
в main()
.
Затмение (по крайней мере, Europa, единственное, что мне сейчас удобно) использует F5 для step into
, F6 для step over
и F7 для step return
.