@Mindgrow

Как правильно использовать Attach to process в intellij idea?

Добрый день!

Есть проект сервлета, который я запускаю на отладку через jetty.
Есть проект плагина в виде jar. Плагин (класс) загружается через URLClassLoader в сервлете и принимает вызовы из сервлета.
Я хотел бы ловить точки останова в проекте плагина.
Для этого из проекта плагина я подключаюсь через Attach to process к процессу сервлета и выбираю процесс:
6023ae92b36f0688800873.png

При этом в variables я вижу сообщение
Target VM is not paused by breakpoint request. Evaluation of methods is not possible in this mode

При вызове методов плагина из сервлета, в проекте плагина я не ловлю точки останова.

Что я делаю не правильно?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Asapin
В свободное время ковыряюсь с Rust и Wasm
Если вы запускаете Jetty не изнутри IDEA, а как отдельное приложение, а потом подключаетесь к нему, то в первую очередь проверьте, что вы включили Remote Debug в Jetty.
Далее, убедитесь, что на сервере и в идее у вас один и тот же код плагина. Сильно упрощая, при remote debug'е, IDE сообщает серверу - останови выполнение, когда достигнешь строки N в классе X. Соответственно, если на сервере крутится один код, а в IDE открыт другой код, то класса X на сервере может не быть, либо строка N может быть no-op (пустая строка или открывающая/закрывающая скобка) из-за того, что какой-то метод был изменён или где-то изменён комментарий, из-за чего строки съехали по сравнению с кодом на сервере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы