У меня есть Java-приложение, работающее на машине Linux. Я запускаю Java-приложение, используя следующее:
java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n
Я открыл порт 4000 для TCP на этой машине Linux. Я использую Eclipse с компьютера с Windows XP и пытаюсь подключиться к этому приложению. Я открыл порт в окнах также.
Обе машины находятся в локальной сети, но я не могу подключить отладчик к приложению Java. Что я делаю не так?
java
debugging
remote-debugging
dzidzitop
источник
источник
Ответы:
Редактировать: Я заметил, что некоторые люди сокращают и вставляют вызов здесь. Ответ, который я первоначально дал, был актуален только для ФП. Вот более современный стиль вызова (включая использование более обычного порта 8000):
Оригинальный ответ следует.
Попробуй это:
Два момента здесь:
runjdwp
опции нет пробелов .источник
-agentlib
опцию более нового стиля для вашего удобства вырезания и вставки. :-)Для JDK 1.3 или более ранней версии:
Для JDK 1.4
Для новых JDK:
Пожалуйста, измените номер порта в зависимости от ваших потребностей.
Из техник Java
Еще одна вещь, которую нужно отметить, от стоит документации интерфейса JVM Tool :
источник
шаги:
См. Пошаговое руководство по удаленной отладке Java для более подробной информации.
источник
Ответ охватывает Java> = 9:
Для Java 9+, опция JVM нуждается в небольшом изменении, добавив в префикс адреса IP-адрес компьютера, на котором установлена JVM, или просто
*
:Это связано с изменением, отмеченным в https://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435 .
Для Java <9, номер порта достаточно для подключения.
источник
Я хотел бы подчеркнуть, что порядок аргументов важен .
Для меня
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar app.jar
команда открывает порт отладчика ,но
java -jar app.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
команда не делает .источник
Вот как вы должны настроить Eclipse Debugger для удаленной отладки:
Настройки Eclipse:
1.Щелкните Run Кнопка
2.Установите Debug Configurations
3.Select «Дистанционное Java Application»
Конфигурация 4.New
Для JBoss:
1. Измените значение
/path/toJboss/jboss-eap-6.1/bin/standalone.conf
в вашем виртуальном компьютере следующим образом: Раскомментируйте следующую строку, удалив #:Для Tomcat:
В файле catalina.bat :
Шаг 1:
Шаг 2:
Шаг 3: Запустите Tomcat из командной строки, как показано ниже:
Затем вам нужно установить точки останова в классах Java, которые вы хотите отлаживать.
источник
JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
ps извините за правки, борющиеся с форматером.