--- aliases: tags: - maturity/π± date: - - 2024-04-07 zero-link: - "[[../../meta/zero/00 Π‘Π½ΠΈΠΏΠ΅ΡΡ Π΄Π»Ρ Java|00 Π‘Π½ΠΈΠΏΠ΅ΡΡ Π΄Π»Ρ Java]]" parents: linked: link: https://struchkov.dev/blog/ru/java-debugging-annotation-processor/ --- Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ Π΄Π΅Π±Π°Π³Π° annotation processor, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΡΠ°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΊ Π½ΠΈΠΌ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ## 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Remote JVM Debug Configuration Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ: βRemote JVM Debugβ. ![](../../meta/files/images/Pasted%20image%2020240407184559.png) ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ βAttach to remote JVMβ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 8000. ![](../../meta/files/images/Pasted%20image%2020240407184611.png) ## 2. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²Π°Ρ ΠΏΠΎΡΡ ΠΠ°ΠΆΠΌΠΈΡΠ΅ `Ctrl+Shift+A` ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ βEdit Custom VM Optionsβ¦β ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ `-Dcompiler.process.debug.port=8000` ΠΈ ==ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ IDEA.== ![](../../meta/files/images/Pasted%20image%2020240407184626.png) ## 3. ΠΠΊΠ»ΡΡΠΈΡΠ΅ βDebug build processβ ΠΠ°ΠΆΠΌΠΈΡΠ΅ `Ctrl+Shift+A` ΠΈ ΠΏΡΠ½ΠΊΡ βDebug build processβ. > [!WARNING] > ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΡΠΎΡ ΡΠ°Π³ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ΅ IDEA. ## 4. ΠΠ΅Π±Π°ΠΆΠΈΠΌ Π‘Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΡΠΊΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π° Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ. ![](Pasted%20image%2020240407184705.png) ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ: `Build -> Rebuild Project`. ==ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΡΠ½ΠΊΡΠ° Build Project ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ.== ΠΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ: ![](../../meta/files/images/Pasted%20image%2020240407184716.png) Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Debug (Shift+F9). Javac Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ. IDEA ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²Π°ΠΌΠΈ ΡΠΎΡΠΊΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π°. ![](../../meta/files/images/Pasted%20image%2020240407184727.png) ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅, ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π²Π°ΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ.