Дебаг приложения на этапе компиляции IntelliJ IDEA

Backend Java Developer
Backend Java Developer
Oбновлена 2021-06-07

Я столкнулся с необходимостью дебага annotation processor, когда писал библиотеку со своими аннотациями и обработчиками к ним. Проблема заключается в том, что обработка аннотаций происходит на этапе компиляции.

Создаем новую конфигурацию. Вам нужно найти: “Remote JVM Debug”.

Выберите режим “Attach to remote JVM” и любой доступный порт, например 8000.

Создаем новую конфигурацию

Заполняем новую конфигурацию

Нажмите Ctrl+Shift+A и найдите пункт “Edit Custom VM Options…”

Добавьте новую строку -Dcompiler.process.debug.port=8000, сохраните и перезапустите Idea.

Edit custom VM Options

Нажмите Ctrl+Shift+A и пункт “Debug build process”.

Debug build process

Вам нужно будет повторять этот шаг каждый раз при перезапуске IDEA.

Сначала установите точку останова в коде обработчика аннотаций.

Точка останова в обработчике

Для запуска вашего обработчика аннотаций пересоберите проект: Build -> Rebuild Project. При выборе пункта Build Project обработчик аннотации может не запуститься.

Процесс сборки приостановится, и вы сможете подключить отладчик:

Ожидание подключения

Теперь запустите добавленную вами конфигурацию в режиме Debug (Shift+F9). Javac возобновит компиляцию. IDEA теперь должна остановиться на установленной вами точке останова.

Успешный дебаг

На этом все, теперь вы можете отлаживать ваши обработчики аннотаций.

Комментарии