Как использовать отладчик NetBeans с JRebel

Недавно я установил подключаемый модуль JRebel для NetBeans и заметил следующую проблему при отладке в среде IDE:

Если я устанавливаю точку останова в классе и впоследствии изменяю код, то мой отладчик не всегда попадает в точку останова. Я нашел обходной путь: сброс точки останова (или повторное подключение отладчика к проекту) после перезагрузки класса.

Но это решение не идеально, потому что класс перезагружается, когда приложению это нужно в первый раз (отладчик еще не работает), поэтому мне нужно выполнить какое-то действие, которое я хочу отлаживать два раза, что может вызвать так много проблем. Другое дело, что я вообще не могу объяснить... даже когда я успешно попадаю в точку останова, я не могу попасть в другую в другом классе.

Может быть, кто-то разобрался в этом вопросе? Есть ли способ перезагрузить измененные классы при сохранении?

NetBeans 7.2.1 с подключаемым модулем JRebel, Glassfish 3.1.2


person user1986658    schedule 17.01.2013    source источник


Ответы (1)


Это известная проблема. Решение существует, но еще не выпущено.

Также проверьте Параметры->Java->Java Debugger. Установлен ли флажок «Применить изменения кода после сохранения»? Если нет, не могли бы вы включить его и попробовать в этой конфигурации - будет ли это иметь значение?

person Anton Arhipov    schedule 19.01.2013
comment
хм... я включил эту функцию и не заметил никакой разницы. я имею в виду, что его все еще можно отлаживать в каком-то сценарии. на данный момент мне будет достаточно, чтобы выяснить правильный сценарий. например перезагрузить класс, а затем сбросить точки останова и подключить отладчик - person user1986658; 20.01.2013
comment
Хорошо, спасибо за информацию. Интеграция на уровне отладчика находится в работе atm. К сожалению, точки останова не сбрасывают точки останова, поскольку отладчик не видит новую версию класса, загруженного JRebel. Интеграция испортилась где-то при переходе с 7.1 на 7.2. К счастью, исправление уже в пути. - person Anton Arhipov; 23.01.2013
comment
это хорошая новость.. но самым большим недостатком является то, что отладчик не достигает точки останова каждый раз, даже после перезагрузки класса.. иногда мне нужно сбросить точку останова несколько раз или даже повторно подключить отладчик... - person user1986658; 23.01.2013
comment
Во время сеанса отладки в NetBeans также доступна кнопка Применить изменения кода (я использую NetBeans 8.0.2) для синхронизации по запросу. - person Alberto; 19.01.2015