la depuración remota una aplicación jnlp con Eclipse
Pregunta
Estoy depurar una aplicación jnlp, y yo solía ser capaz de depuración remota a través de eclipse, pero no más.
el comando para empezar es:
/usr/java/jdk1.6.0_14/jre/bin/java -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1445 -Djnlpx.heapsize=64m,512m -DtrustProxy=true -Xverify:remote -Djava.security.policy=/lib/security/javaws.policy -Dfile.encoding=UTF-8 -Xbootclasspath/a:/usr/java/jdk1.6.0_14/jre/lib/deploy.jar:/usr/java/jdk1.6.0_14/jre/lib/javaws.jar:/usr/java/jdk1.6.0_14/jre/lib/plugin.jar -classpath /usr/java/jdk1.6.0_14/jre/lib/deploy.jar com.sun.javaws.Main launch.jnlp
Listening for transport dt_socket at address: 1445
y el problema es que cuando hay que adjuntar el depurador de Eclipse, se apaga y se reinicia; por lo que el depurador se une al primer proceso; y cuando muere que lo mismo ocurre con el depurador.
el depurador de guiones en realidad no importa; medida que el proceso jnlp se reinicia por sí solo antes de que el depurador alguna vez se puso en marcha si suspender = n.
He intentado trazar, pero la opción -XX: TraceSupport = true (y otras variaciones que he probado) provoca un error de JVM.
Estoy usando Fedora 11, Eclipse Java EE IDE para desarrolladores web. (Build ID: 20090621-0832)
Me estoy preguntando si alguien sabe cómo solucionar este problema, o al menos la forma de encender un mejor registro (es decir, capturar toda la salida de la consola a un registro, de modo que pueda echar un vistazo a la primera consola que parpadea hasta en mi pantalla por un milisegundo)
Gracias!
Solución 2
Mi jefe encontró la respuesta:
Parece que las etiquetas
“<property>”
en el archivo jnlp son más restrictivas con la nueva JRE. De acuerdo con la Sun documentación :“Para una aplicación no confiable, el sistema de propiedades establecidas en el archivo JNLP se sólo puede ser establecido por Java Web Start si son considerados seguros, o si el nombre de la propiedad comienza con "jnlp." o "javaws". “.
Parece que la situación no es de confianza hace que la aplicación para iniciar una segundo tiempo con el apropiado propiedades.
después de recompilar y la fijación de un tema relacionado con suerte en las nuevas líneas estaban causando la APPLICATION.JNLP firmado y el launch.jnlp que no parece ser "la misma", el depurador está trabajando.
Otros consejos
entrada de blog tiene variables de entorno le puede fijar a jnlp de depuración. Esto siempre ha trabajado para mí.
set JAVAWS_TRACE_NATIVE=1
set JAVAWS_VM_ARGS=-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=y
javaws http://server:port/descriptor.jnlp