Debugging an annotation processor using IntelliJ IDEA

Backend Java Developer
Backend Java Developer

Я столкнулся с необходимостью дебага 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 -> Build Project.

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

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

Теперь запустите добавленную вами конфигурацию Run. javac возобновит компиляцию. IDEA теперь должна остановиться на установленной вами точке останова.

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

Комментарии