digital-garden/dev/snippet/Дебаг приложения на этапе компиляции IntelliJ IDEA.md
Struchkov Mark c4762ee1f0
All checks were successful
continuous-integration/drone/push Build is passing
Добавил всем заметкам метаданные
2024-09-09 21:07:47 +03:00

3.1 KiB
Raw Blame History

aliases tags date zero-link parents linked
maturity/🌱
2024-04-07
../../meta/zero/00 Снипеты для Java

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

1. Создание Remote JVM Debug Configuration

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

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

2. Убедитесь, что процесс сборки использует ваш порт

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

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

3. Включите “Debug build process”

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

Warning

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

4. Дебажим

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

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

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

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

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


Мета информация

Область:: ../../meta/zero/00 Снипеты для Java Родитель:: Источник:: Автор:: Создана:: 2024-04-07

Дополнительные материалы

Дочерние заметки

LIST 
FROM [[]]
WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link)