50 votes

Comment puis-je déboguer des applications sous Java Web Start (JNLP)?

Je sais comment déboguer une machine virtuelle Java distante avec Eclipse. Peu, comment puis-je le faire avec un programme Java Web Start. J'ai un problème qui ne se produit que dans Java Web Start. Ce doit être lié à la sécurité.

J'ai besoin d'une solution qui fonctionne avec une machine virtuelle Java actuelle telle que 1.6.0_12.

25voto

Kai Huppmann Points 6119

C'est à peu près la même chose que pour tout autre processus Java que vous souhaitez déboguer à distance: vous devez configurer des arguments pour la VM ( -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=12345 ) et la connexion au port donné. Dans Webstart 6.0, vous pouvez utiliser l'option -J dans les versions antérieures via la variable d'environnement JAVAWS_VM_ARGS. Voir les détails ici .

23voto

mkoeller Points 3101

Démarrez la machine virtuelle JWS manuellement. De cette façon, vous pouvez fournir les paramètres de démarrage pour ouvrir le port de débogage. Voici une description , ça va comme ça:

 set JAVAWS_TRACE_NATIVE=1
set JAVAWS_VM_ARGS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=n"
javaws http://server:port/descriptor.jnlp
 

9voto

Marco Montel Points 61

Vous pouvez également fournir le paramètre debug à l’exécutable javaws à l’aide de l’option -J.

Exemple:

 javaws.exe -J-Xdebug -J-Xnoagent -J-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 http://server:port/descriptor.jnlp
 

3voto

Dan Dyer Points 30082

J'ai récemment écrit un article de blog expliquant comment faire cela. La solution implique la définition de la variable d’environnement JAVAWS_VM_ARGS pour inclure les commutateurs de débogage de la machine virtuelle Java.

1voto

sleske Points 29978

Avez-vous essayé d'imprimer un journal de débogage? C'est une chose utile à avoir de toute façon, et pourrait aider dans ce cas.

Si vous voulez un vrai débogage, voir par exemple ici: Comment puis-je déboguer sous WebStart?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X