Удаленная отладка с IntelliJ IDEA
1. Введение
Удаленная отладка дает разработчикам возможность диагностировать уникальные ошибки на сервере или другой процесс. Он предоставляет средства для отслеживания этих раздражающих ошибок времени выполнения и выявления узких мест производительности и поглотителей ресурсов.
В этом учебнике мы посмотрим на удаленную отладку с помощью JetBrains IntelliJ IDEA. Давайте сначала подготовим пример приложения, изменив СПМ.
2. Настройте СПМ
Мы будем использовать весенний планировщик образец применения легко подключиться и добавить точки разрыва к обычно запланированной задаче.
Кроме того, IntelliJ IDEA предоставляет наши параметры JVM как часть конфигурации :
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
2.1. Параметры СПМ
Помимо конфигурации Java Debug Wire Protocol (JDWP) jdwp-транспорт dt_socket – Мы видим серверные , приостановить , и адрес Параметры.
серверные параметр настраивает JVM в качестве мишени для нашего отладки. приостановить параметр говорит JVM ждать клиента отладки для подключения перед запуском. Наконец, адрес параметр использует подстановочный хост и заявленный порт.
Итак, давайте построим приложение планировщика:
mvn clean package
А теперь давайте забудем приложение, в том числе -агентлиб:jdwp параметр:
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \ target/gs-scheduling-tasks-0.1.0.jar
Откройте любой терминал и запустите команду. Когда наше приложение запущено, давайте переключимся на IntelliJ.
3. Вы запустите конфигурацию в IntelliJ IDEA
Далее, в IntelliJ, мы создаем новую конфигурацию запуска для удаленной отладки:
Теперь, когда наше приложение запущено, давайте начнем сеанс удаленной отладки, нажав на Отладить пуговица.
4. Удаленная отладка
Далее мы открываем РасписаниеТеск файл и поместите точку разрыва на строке 36 показано здесь:
public void reportCurrentTime() { log.info("The time is now {}", dateFormat.format(new Date())); }
Поскольку задача выполняется каждые пять секунд, она остановится вскоре после добавления. В результате, теперь мы можем пройти через все приложение.
Для проблем запуска приложений мы меняем приостановить флаг к n и место брейк-пойнт в основные метод приложение.
4.1. Ограничения
Иногда журналирование и выход сбивают нас с толку при удаленной отладке. Записи не будут отправлены на консоль IDE, поэтому внешний файл журнала может быть использован и отображен в IDE для более надежной отладки.
Также помните, что в то время как удаленная отладка является очень мощным инструментом, производственная среда не подходит для отладки .
5. Заключение
Как мы рассмотрели в этой статье, удаленная отладка с IntelliJ проста в настройке и использовании в течение нескольких коротких шагов.
Мы рассмотрели, как настроить наше приложение JVM для отладки, а также некоторые ограничения этого важного инструмента в нашем наборе инструментов разработчика.
Пример приложения можно найти более на GitHub .