Ответы:
Рассмотрим следующий код с указателем текущей инструкции (строка, которая будет выполняться далее, обозначена ->
) в 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()
.
«Затмение» (по крайней мере, «Европа», единственное, что мне сейчас удобно) использует F5для step into
, F6для step over
и F7для step return
.
g(3)
, в main()
» <- Вы предполагая , что вы получили ваше текущее местоположение с g(2)
и как только вы все сделали вы вернуться к своей следующей строке g(3)
?
g(2)
или g(3)
вызова активна в данный момент) , так что я очищен , что в первом абзаце. Спасибо за внимание.
При отладке строк кода, вот обычные сценарии:
Eclipse имеет другие расширенные функции отладки, но это основные принципы.
step in будет копаться в вызовах методов
step over просто выполнит строку и перейдет к следующей
Вы не можете пройти через детали метода, используя шаг. Если вы хотите пропустить текущую строку, вы можете использовать шаг за шагом, тогда вам нужно только нажать F6только один раз, чтобы перейти к следующей строке. И если вы думаете, что в методе что-то не так, используйте F5для изучения деталей.
Step Into Вызывается следующее выражение в текущей выбранной строке, которая должна быть выполнена, и выполнение приостанавливается на следующей исполняемой строке в вызываемом методе.
Шаг за шагом Выбранная в данный момент строка выполняется и приостанавливается на следующей исполняемой строке.