Присоединить отладчик Intellij-IDEA к запущенному процессу java

можно ли подключить отладчик Intellij-IDEA к запущенному процессу java?

4 ответов


Да! Вот как вы это устроили.

Выполнить Конфигурации

создайте конфигурацию удаленного запуска:

  1. Выполнить -> Редактировать Конфигурации...
  2. Нажмите " + " в левом верхнем углу
  3. выберите опцию "удаленный" в самой левой панели
  4. выберите имя (я назвал мое "удаленная отладка")
  5. нажмите "OK", чтобы сохранить:

enter image description here

параметры JVM

В конфигурация выше предоставляет три поля только для чтения. Это параметры, которые говорят JVM открыть порт 5005 для удаленной отладки при запуске приложения. Добавьте подходящую для опции JVM приложения отладки. Один из способов сделать это было бы так:

export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

но это зависит от того, как запустить приложение. Если вы не уверены, какое из трех относится к вам, начните с первого и идите вниз по списку, пока не найдете то, которое завод.

вы можете изменить suspend=n to suspend=y чтобы заставить приложение ждать, пока вы не подключитесь к IntelliJ, прежде чем оно запустится. Это полезно, если вы хотите останова происходит при запуске приложения.

Debug

запустите приложение, как обычно, затем в IntelliJ выберите новую конфигурацию и нажмите "отладка".

enter image description here

IntelliJ подключится к JVM и инициирует удаленный отладка.

Теперь вы можете отлаживать приложение, добавляя точки останова в свой код, где это необходимо. Выход приложения по-прежнему будет отображаться там, где он был раньше, но ваши точки останова будут попадать в IntelliJ.


это возможно, но вы должны добавить некоторые флаги JVM при запуске приложения.

вы должны добавить конфигурацию удаленной отладки: изменить конфигурацию - > удаленный.

затем вы найдете в отображаемом диалоговом окне параметры, которые вы должны добавить к выполнению программы, например:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

затем при запуске приложения вы можете подключить отладчик. Если вы хотите, чтобы ваше приложение дождалось подключения отладчика, просто измените флаг приостановки на y (suspend=y)


в AndroidStudio или idea

  1. Config приложение будет отлаживать, открытые конфигурации редактирования

добавить конфигурацию "параметры VM" “-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005” запомните "адрес"

enter image description here

  1. Настройка Удаленного Отладчика если нет выхода, Нажмите +, чтобы добавить

укажите "порт" так же, как в шаге 1 "адрес" enter image description here


кроме того, не забудьте добавить флаг "-Xdebug" в приложении JAVA_OPTS, если вы хотите подключиться в режиме отладки.