Как отладить песочницу CDAP с IntelliJ на Mac

Я пытаюсь отладить код CDAP и код плагина

Я пробовал несколько вариантов запуска песочницы CDAP:

https://docs.cask.co/cdap/5.1.0-SNAPSHOT/en/developer-manual/getting-started/sandbox/docker.html

Песочница работает и полные журналы говорят, что порт 5005 открыт для отладки

Starting CDAP Sandbox ...Listening for transport dt_socket at address: 5005

Docker PS имеет два других порта: 0.0.0.0:11011->11011/tcp, 0.0.0.0:11015->11015/tcp cdap-sandbox

Когда я настраиваю IntelliJ-отладчик на 11015, кажется, что нет проблем, но точки останова не улавливают выполнение кода.

Я попытался запустить изолированную программную среду CDAP в virtualbox и использовать 192.168.99.100, но все еще не могу поймать точки останова с помощью удаленного отладчика

Я также попытался добавить 5005 к незащищенным портам докера 0.0.0.0:5005->5005/tcp и настроить intellij для того же. Intellij не удалось подключиться к удаленному 5005

Как я отлаживаю песочницу cdap с intellij?

1 ответ

Проблема заключается в файле functions.sh в каталоге bin. По умолчанию он связывает порт прослушивания с localhost.

Починить это:

Найдите строку:

"CDAP_SDK_OPTS+=" -agentlib:jdwp=transport=dt_socket,address=localhost:${__port},server=y,suspend=n"

и измените его на что-то вроде (удалить localhost:):

"CDAP_SDK_OPTS+=" -agentlib:jdwp=transport=dt_socket,address=${__port},server=y,suspend=n"

  • Запустите песочницу CDAP в режиме отладки.
bin/cdap sandbox start --enable-debug
  • В intelliJ goto Run -> Edit Configurations -> Add New Configuration -> Remote
  • Укажите имя конфигурации, введите хост и порт (5005 для отладки cdap).
  • Выберите свой модуль maven в разделе Использовать входную конфигурацию пути к классам модуля и нажмите Применить

  • Теперь для отладки нажмите кнопку отладки, и все готово.

Вы начали CDAP с флагом --enable-debug?

Наша документация поможет вам запустить CDAP в режиме отладки.

Кроме того, вам может пригодиться наша документация по тестированию и отладке.

Другие вопросы по тегам