Я пытаюсь использовать удаленную отладку для Java-апплетов. Я использую Java 7 update 51, и когда я пытаюсь загрузить апплеты, это отключается в консоли java, а затем оно ударяется.
network: Connecting http://domain.com/useradmin3.gif with proxy=DIRECT
network: Connecting http://domain.com/ with proxy=DIRECT
preloader: Stop progressCheck thread
Я передал следующие параметры выполнения в Javacpl: "-Djava.compiler = NONE -Xnoagent -Xdebug -Xrunjdwp: transport = dt_socket, address = 8007, server = y, suspend = n"
Я выяснил, каков этот вопрос. У меня есть страница, содержащая несколько апплетов. И я установил параметры Java для удаленной отладки. Всякий раз, когда я загружаю страницу, она загружает две JVM для страницы, которые я не знаю, почему. Итак, для первого JVM он использует порт no. для прослушивания. Но для второго JVM тот же номер порта. должен использоваться, поскольку параметры Java определены глобально. Таким образом, вторая JVM получает зависания, ожидая выхода порта.
Я придумал обходной путь для этой проблемы и дайте мне знать, если кому-то это понадобится.
Бисквит, возможно, вам не хватает некоторых флагов компилятора (например, "lines, vars, source"), чтобы разрешить удаленное отладки.
Например, вы используете Ant, вам нужно добавить эти строки в свой javac:
<!-- Javac lines, vars, source compiler flags -->
<javac srcdir="..." destdir="..." classpathref="..." debug="true" debuglevel="lines,vars,source" />
Затем в вашем скрипте выполнения вы можете добавить:
<!-- debug configurations: modify the port you want-->
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4060"/>
С другой стороны, если вы используете Maven, то такие же флаги могут быть добавлены в:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<!-- Necessary in order for the debug levels to be considered-->
<debug>true</debug>
<debugLevel>lines,vars,source</debugLevel>
</configuration>
</plugin>
</plugins>
</build>
В случае использования Jetty, как и раньше, вы должны иметь следующую переменную:
export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
С другой стороны, что вы можете проверить, установите флаг suspend на "yes", это " suspend = y ". Это не приведет к запуску вашего приложения, если вы не подключите отладчик к вашему порту.
Здесь вы можете проверить конкретную информацию о jboss:
И всегда проверяйте, как остановить брандмауэр. В случае iptables вы можете выполнить следующую команду:
service iptables stop
О, еще одна вещь, которую вы можете попробовать проверить, если ваш порт в настоящее время используется другим процессом:
In windows:
netstat -nab
Linux:
netstat -nap
Надеюсь помочь.