У меня есть автономное Java-приложение, развернутое в IBM Bluemix в виде пакета сборки Cloud Foundry Java.
Есть ли способ выполнить удаленную отладку в Eclipse? Я смог найти только документы для удаленной отладки приложений Java Liberty buildpack.
У меня есть автономное Java-приложение, развернутое в IBM Bluemix в виде пакета сборки Cloud Foundry Java.
Есть ли способ выполнить удаленную отладку в Eclipse? Я смог найти только документы для удаленной отладки приложений Java Liberty buildpack.
Способ прослушивания сокетов, упомянутый в другом ответе, безусловно, удобен, но предполагает, что вашей машине отладки будет назначен общедоступный IP-адрес (или вам нужно настроить переадресацию портов на вашем маршрутизаторе). Это не всегда возможно.
Таким образом, другой способ сделать это — включить отладку в вашем приложении Java и использовать переадресацию портов ssh для подключения к экземпляру приложения. Ниже приведены шаги
JBP_CONFIG_DEBUG
значение {enabled: true}
и перезапустив приложение.Настройте туннель SSH для среды отладки через JDWP.
cf ssh -N -T -L 8000:localhost:8000 <APP_NAME>
После открытия туннеля ssh вы используете тип отладки Socket Attach из eclipse на localhost:8000
Предпосылки до cf ssh
: cf api
, cf login
, cf target
JBP_CONFIG_DEBUG "{ enabled: true, port: 8000, suspend: false }"
и попробуйте проверить с помощью ssh, открыт порт 8000 или нет.
- person Shiva; 10.07.2017
В документации по пакету сборки Java есть некоторые инструкции по адресу https://docs.cloudfoundry.org/buildpacks/java/java-tips.html#debugging
Теперь отладчик должен быть запущен. Если вы переключитесь на перспективу «Отладка», вы должны увидеть свое приложение в списке на панели «Отладка» с надписью Waiting for vm to connect at port
.
Затем отправьте свое приложение в Cloud Foundry и попросите Cloud Foundry подключиться к отладчику, работающему на вашем локальном компьютере, с помощью следующих инструкций:
-agentlib:jdwp=transport=dt_socket,address=YOUR-IP-ADDRESS:YOUR-PORT
.По завершении вы должны увидеть, что ваше приложение запущено и теперь подключено к отладчику, работающему в вашей среде IDE. Теперь вы можете добавлять точки останова и опрашивать приложение так же, как если бы оно работало локально.