Я знаю, что есть несколько JAVA_OPTS, чтобы установить удаленную отладку Java-программы.Каковы параметры командной строки Java, позволяющие удаленно отлаживать JVM?
Что они и что они означают?
Я знаю, что есть несколько JAVA_OPTS, чтобы установить удаленную отладку Java-программы.Каковы параметры командной строки Java, позволяющие удаленно отлаживать JVM?
Что они и что они означают?
У меня есть this article с закладкой при настройке с помощью Eclipse для Java 5 и ниже.
В основном run it with:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
Для Затмения с Java 5 and above, запустите его с:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
До Java 5.0, используйте -Xdebug
и -Xrunjdwp
аргументы. Эти параметры будут по-прежнему работать в более поздних версиях, но он будет работать в интерпретированном режиме вместо JIT, который будет медленнее.
С Java 5.0, то лучше использовать -agentlib:jdwp
один параметр:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
Варианты на -Xrunjdwp
или agentlib:jdwp
аргументы:
transport=dt_socket
: означает способ, используемый для подключения к виртуальной машины Java (socket - хороший выбор, его можно использовать для отладки удаленного компьютера)address=8000
: Порт TCP/IP, подключенный к отладчику,suspend=y
: если «y», сообщите JVM, чтобы ждать, пока отладчик не будет присоединен, чтобы начать выполнение, в противном случае (если «n») начинает выполнение сразу.Для Java 1.5 или выше:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Для Java 1.4:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Для Java 1.3:
java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Здесь выводится из простой программы:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled
Listening for transport dt_socket at address: 1044
Hello whirled
Существует множество проблем с окружающей средой, если вы используете Maven. Итак, если вы запустите свою программу из maven, просто запустите команду mvnDebug
вместо mvn
и приложите отладчик на порт 8000. Это вы заботитесь обо всех проблемах с окружающей средой.
Поскольку Java 9.0 JDWP поддерживает только локальные подключения по умолчанию. http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
Для удаленной отладки необходимо запустить программу с *:
по адресу:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Ваш точно правильно .. Я попытался с ** - Xdebug ** и ** - ** Xrunjdwp но это Ждут» т работы. когда я пытался с ** - Xrunjdwp ** или ** agentlib: jdwp ** Он работает.(на Java 7) – RoboAlex 2012-06-01 06:02:12