Чи можливо приєднати відладчик IntelliJ IDEA до запущеного процесу Java? Якщо так, то як?
Чи можливо приєднати відладчик IntelliJ IDEA до запущеного процесу Java? Якщо так, то як?
Відповіді:
Так! Ось як ви це налаштували.
Створіть конфігурацію віддаленого запуску:
Наведена вище конфігурація містить три поля лише для читання. Це варіанти, які повідомляють JVM відкрити порт 5005 для віддаленої налагодження під час запуску програми. Додайте відповідний параметр до параметрів JVM програми, на якій ви налагоджуєте. Один із способів зробити це було б так:
export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
Але це залежить від способу запуску програми. Якщо ви не впевнені, яке з трьох стосується вас, почніть з першого і спустіться зі списку, поки не знайдете той, що працює.
Ви можете змінити suspend=n
наsuspend=y
змусити вашу програму чекати, поки ви підключитесь з IntelliJ до її запуску. Це корисно, якщо точка запуску, яку ви хочете натиснути, виникає при запуску програми.
Запустіть програму так, як зазвичай, а потім у IntelliJ виберіть нову конфігурацію та натисніть «Налагодження».
IntelliJ підключиться до JVM та ініціює віддалену налагодження.
Тепер ви можете налагоджувати програму, додаючи кращі точки до свого коду, де потрібно. Вихід програми все ще з’явиться там, де раніше це робилося, але ваші точки перерви потраплять в IntelliJ.
Remote
його немає у спільноті? Я використовую платну версію. Чи може хтось із спільноти видання підтвердити?
System.out.println
IntelliJ при віддаленій налагодженні?
Це можливо, але вам потрібно додати кілька прапорів JVM під час запуску програми.
Ви повинні додати конфігурацію віддаленої налагодження: Редагувати конфігурацію -> Віддалене.
Потім ви знайдете у відображеному діалоговому вікні параметри, які потрібно додати до виконання програми, наприклад:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
Потім, коли ваша програма запущена, ви можете приєднати налагоджувач. Якщо ви хочете, щоб ваша програма зачекала, поки підключений налагоджувач, просто змініть призупинити прапор на y ( suspend=y
)
в AndroidStudio або ідеї
додати "Параметри VM" Налаштувати
“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
запам'ятати "адресу"
Також я використовую додаток GUI Tomcat (у моєму випадку: C: \ tomcat \ bin \ Tomcat9w.bin).
Перейдіть на вкладку Java :
Встановіть ваші властивості Java, наприклад:
Віртуальна машина Java
C: \ Файли програм \ Java \ jre-10.0.2 \ bin \ server \ jvm.dll
Віртуальна машина Java
C: \ tomcat \ bin \ bootstrap.jar; C: \ tomcat \ bin \ tomcat-juli.jar
Параметри Java :
-Dcatalina.home = C: \ tomcat
-Dcatalina.base = C: \ tomcat
-Djava.io.tmpdir = C: \ tomcat \ temp
-Djava.util.logging.config.file = C: \ tomcat \ conf \ logging.properties
-agentlib: jdwp = транспорт = dt_socket, сервер = y, призупинити = n, адреса = *: 8000
Варіанти Java 9 :
--add-opens = java.base / java.lang = ALL-UNNAMED
--add-opens = java.base / java.io = ALL-UNNAMED
--add-opens = java.rmi / sun.rmi.transport = ВСЕ-НЕЗНАЧЕНО