Intellij Idea Remote игнорирует точки останова внутри кода компонентов Spring - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь отладить приложение с пружинной загрузкой с помощью удаленного отладчика Intellij Idea.

Я запускаю свое приложение локально на моей машине разработки с конфигурацией запуска Intellij Idea «Spring Boot» со следующими параметрами виртуальной машинынастроено в конфигурации запуска:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

У меня нет других запущенных Java-приложений.

Затем я запускаю другую конфигурацию запуска Intellij Idea «Удаленный отладчик».Он имеет следующую конфигурацию:

host: localhost; port:5005, debugger mode: Attach to remote JVM

Я вижу следующее сообщение в консоли:

Connected to the target VM, address: 'localhost:5005', transport: 'socket'.

Но точки останова в классах контроллера и других компонентах игнорируются.

НО!!!Если я выбрал конфигурацию запуска Spring Boot и просто запустил ее в режиме отладки (чтобы не требовалось запускать отдельную конфигурацию запуска удаленного отладчика), точки останова работают, как и ожидалось.

1 Ответ

0 голосов
/ 19 октября 2018

Убедитесь, что код выполняется на виртуальной машине, которую вы собираетесь отлаживать.Проверьте это, например, с помощью логирования.

Пример:

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

...