Могу ли я удаленно отлаживать кота, работающего в intelliJ, из другого экземпляра intelliJ?

У меня открыто два окна в IntelliJ IDEA Ultimate 11.1.4. Назовем их окно A и окно B. В окне A я запускаю 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 отлаживать два файла war на одном и том же экземпляре tomcat?

но все же я любопытный парень и поэтому у меня есть несколько вопросов:

  • Что означает вышеприведенное сообщение об ошибке?
  • Почему возникает ошибка?
  • Возможно ли то, что я пытаюсь сделать с помощью intelliJ?
  • Как указано выше, я, вероятно, просто глуп, пытаясь сделать это, но бывают ли случаи, когда полезно попытаться удаленно отладить Tomcat, работающий локально в IntelliJ, из другого экземпляра IntelliJ?

person David    schedule 24.07.2013    source источник
comment
есть обновления по этой теме?   -  person David    schedule 19.04.2018


Ответы (2)


IntelliJ, вероятно, добавляет свой собственный аргумент -Xrunjdwp: для подключения своего агента.

Если вы посмотрите на первую строку в консоли отладки, вы увидите команду, созданную IntelliJ.

JDWP одновременно поддерживает только один отладчик. Вам придется выбирать между двумя. Запуск команды вне IntelliJ должен решить эту проблему.

person h3xStream    schedule 14.11.2013

Чтобы включить удаленную отладку, нельзя будет запустить приложение в режиме отладки. Вы должны запустить программу (-Xdebug -Xrunjdwp:transport) напрямую. Она не настроена для удаленной отладки, а затем запустить программу путем отладки.

person zenglzh    schedule 23.12.2013