Я столкнулся с необходимостью дебага annotation processor, когда писал библиотеку со своими аннотациями и обработчиками к ним. Проблема заключается в том, что обработка аннотаций происходит на этапе компиляции.
1. Создание Remote JVM Debug Configuration
Создаем новую конфигурацию. Вам нужно найти: “Remote JVM Debug”.
![](https://struchkov.dev/blog/ru/content/images/2021/10/-----------.png)
Выберите режим “Attach to remote JVM” и любой доступный порт, например 8000.
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------1.png)
2. Убедитесь, что процесс сборки использует ваш порт
Нажмите Ctrl+Shift+A
и найдите пункт “Edit Custom VM Options…”
Добавьте новую строку -Dcompiler.process.debug.port=8000
и перезапустите IDEA.
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------2.png)
3. Включите “Debug build process”
Нажмите Ctrl+Shift+A
и пункт “Debug build process”.
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------3.png)
4. Дебажим
Сначала установите точку останова в коде обработчика аннотаций.
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------4.png)
Для запуска вашего обработчика аннотаций пересоберите проект: Build -> Rebuild Project. При выборе пункта Build Project обработчик аннотации может не запуститься.
Процесс сборки приостановится, и вы сможете подключить отладчик:
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------5.png)
Теперь запустите добавленную вами конфигурацию в режиме Debug (Shift+F9). Javac возобновит компиляцию. IDEA теперь должна остановиться на установленной вами точке останова.
![](https://struchkov.dev/blog/ru/content/images/2021/10/------------6.png)
На этом все, теперь вы можете отлаживать ваши обработчики аннотаций.