Подтвердить что ты не робот

Как пропустить строку в отладке идеи Intellij?

Предположим, что у меня есть java-код (только как пример):

public void someMethod(){
    int a = 3;
    int b = 2; // <-- stay debug here
    a = b + 2;
    System.out.prinln(a);
}

Можно пропустить выполнение строки "int a = b + 2;" и перейти на "System.out.prinln(a);"

P.S. Я использую Intellij Idea 12.

4b9b3361

Ответ 1

Невозможно, чтобы отладчик не выполнял части кода.

Однако возможно выполнить дополнительный код и изменить значения для переменных, поэтому, если вам нужно исключить одну строку из выполнения во время отладки, вам придется изменить свой код, чтобы подготовиться к такой отладке.

public void someMethod() {
    int a = 3;
    int b = 2;
    boolean shouldRun = true;
    if (shouldRun) {
        a = b + 2;
    }
    System.out.prinln(a);
}

Затем вы установили точку останова, которая изменит значение shouldRun без остановки выполнения. Это можно сделать так.

enter image description here

Обратите внимание, что

  • Приостановить не проверяется
  • Вычисленное выражение журнала используется для изменения переменной при ударе точки останова

Ответ 2

Можно пропустить строки только в том случае, если вы используете hotswapping или добавили другие инструменты для перезагрузки кода - добавьте изменения кода/новый код во время выполнения. Hotswapping - это функции замены компонентов без выключения системы. Hotswapping также может ссылаться на возможность изменять текущий код программы без прерывания его выполнения.

Существуют различные горячие инструменты, такие как: JRebel (https://zeroturnaround.com/software/jrebel/) или HotSwapAgent (http://www.hotswapagent.org/)

Вам не нужно перестраивать все приложение для перезагрузки изменений кода, это огромная экономия времени. Вместо того, чтобы запускать полный процесс сборки, просто используйте компилятор, встроенный в вашу среду IDE, и агент/инструмент hotSwap перезагрузит код в JVM.

В этом случае это не будет фактически пропущен, но вы можете просто прокомментировать/изменить строки и перезагрузить их. Эти инструменты довольно удивительные!!!! Это значительно ускоряет процесс разработки/отладки

Ответ 3

Вы не можете просто пропустить "выполнение строки" при отладке. Вы можете нажать F8 для перехода.

Ответ 4

Невозможно пропустить ИСПОЛНЕНИЕ линий в IntelliJ и даже в Eclipse. Единственное, что вы можете сделать, это сделать шаг вперед (F8), который будет отслеживаться по строкам без входящий в любую функцию.

Еще одна вещь - "Выйти" (Shift + F8), которая будет сразу перейти к следующей точке отладки, выполнив между строк на этом единственном шаге.