Могу ли я удаленно отладить tomcat, работающий в intelliJ, из другого экземпляра intelliJ?
У меня есть два открытых окна в IntelliJ IDEA Ultimate 11.1.4. Давайте назовем их windowA и windowB. В окне я запускаю Tomcat 7 локально. В windowB я хочу запустить удаленную конфигурацию tomcat для отладки кода, развернутого на экземпляре tomcat, работающем в windowA. С этой целью я добавил эти параметры виртуальной машины в локальную конфигурацию Tomcat:
-Xdebug
-Xrunjdwp:transport=dt_socket,address=62944,suspend=n,server=y
Когда я пытаюсь запустить Tomcat, я получаю это сообщение об ошибке:
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
и вот полный вывод сервера:
B:\apache-tomcat-7.0.27\bin\catalina.bat run
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Using CATALINA_BASE: "C:\Users\dallend\.IntelliJIdea11\system\tomcat\Unnamed_davidswebapp_8"
Using CATALINA_HOME: "B:\apache-tomcat-7.0.27"
Using CATALINA_TMPDIR: "B:\apache-tomcat-7.0.27\temp"
Using JRE_HOME: "B:\java\jdk1.6.0_33"
Using CLASSPATH: "B:\apache-tomcat-7.0.27\bin\bootstrap.jar;B:\apache-tomcat-7.0.27\bin\tomcat-juli.jar"
Error occurred during initialization of VM
agent library failed to init: jdwp
Disconnected from server
Я предполагаю, что то, что я пытаюсь сделать здесь, совершенно бесполезно, и что я действительно должен попробовать что-то вроде этого: Может ли IntelliJ отлаживать два военных файла на одном и том же экземпляре Tomcat?
но все же я любопытный парень и поэтому у меня есть несколько вопросов:
- Что означает сообщение об ошибке выше?
- Почему происходит ошибка?
- Возможно ли то, что я пытаюсь сделать с IntelliJ?
- Как указано выше, я, вероятно, просто глуп, пытаясь сделать это, но есть ли когда-нибудь хорошая идея, чтобы попытаться выполнить удаленную отладку tomcat, работающего локально в IntelliJ, из другого экземпляра IntelliJ?
2 ответа
IntelliJ, вероятно, добавляет свой собственный -Xrunjdwp:
аргумент, чтобы прикрепить своего агента.
Если вы посмотрите на первую строку в консоли отладки, вы увидите команду, которую IntelliJ собрал.
JDWP поддерживает только один отладчик одновременно. Вам придется выбирать между двумя. Выполнение команды вне IntelliJ должно решить эту проблему.
Для включения удаленной отладки не удастся запустить приложение в режиме отладки. Вы должны запустить программу (-Xdebug -Xrunjdwp:transport) напрямую. Не настроен для удаленной отладки, а затем запустить программу путем отладки.