Eclipse: отредактируйте источник и продолжите отладку
Я использую Eclipse IDE (версия Helios)
Во время отладки в Eclipse можно ли отредактировать исходный код и продолжить отладку?
Например, у меня есть этот файл
Во время отладки, когда я пытался изменить значение a4 во время отладки, не отражая
public class Tes {
public static void main(String args[]) {
int a4 = 15;
for (int i = 0; i < a4; i++) {
System.out.println(i);
}
}
}
Ответы
Ответ 1
Да, возможно отредактировать источник и продолжить отладку в Eclipse! Вы найдете здесь обширную информацию: Отладка с помощью платформы Eclipse (прокрутите вниз до раздела Исправление ошибок Hotswap: On-the-).
Если вы используете виртуальную машину Java (JVM) V1.4 или выше, Eclipse поддерживает функцию "Исправление ошибок Hotswap" (недоступно в JVM V1.3 или ниже). Это позволяет изменять исходный код во время сеанс отладчика, который лучше, чем выход из приложения, изменение кода, перекомпиляция, а затем запуск другой отладки сессия. Чтобы использовать эту функцию, просто измените код в редакторе и возобновить отладку.
В некоторых случаях функция не работает. Например. если вы вносите изменения в переменную main
метода a4
, JVM не сможет удалить все стековые фреймы с использованием старого кода из стека вызовов. Данные отладчика будут потеряны.
Чтобы увидеть функцию Hotswap Bug Fixing
JVM в действии, просто переместите код из вашего метода main
в классе Test
в какой-либо другой класс. Вот что я имею в виду:
![Hotswap Bug Fixing in Action]()
Теперь вы можете изменить код "на лету" во время отладки в классе MyObject
. Получайте удовольствие!
EDIT: Просто нашел аналогичный вопрос на superuser.com: Отладка в Eclipse, как запустить до точки останова
Ответ 2
Если вы запускаете свое приложение с использованием версии 1.3 JVM или более поздней версии, есть один последний шаг с запуском отладчика:
- > измените проблемную строку - в вашем случае "значение a4", а затем сохраните файл, затем нажмите кнопку "Возобновить", чтобы снова запустить приложение.
Это сохранение этого конкретного java файла, который вы отредактировали во время отладки, заставит сеанс продолжить отладку с начала (конструктора) файла с новыми значениями.
Это редактирование и сохранение можно выполнить n раз, а после его сохранения сеанс отладки автоматически возобновится с начала этого конкретного файла.
Ответ 3
Если вы просто хотите изменить значение a5
во время отладки, это намного проще, чем изменить источник.
Вы можете установить новое значение в представлении переменных, которое вы можете увидеть в перспективе отладки в Eclipse.
См. руководство здесь и здесь