Documentation
Pages enfant
  • Deboguage

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Le principe du debugage distant est le suivant :

  1. La JVM server ouvre sur socket (sur le server et un port spécifique)
  2. Eclipse va se connecter sur cette socket afin d'intercepter les point d'arrêt et de communiquer avec la JVM distante.

 

Pour utiliser la JVM en mode debugage distant il faut lui paramètrer le port d'attente.

Pour ce faire j'plusieurs solutions (en voici 2) : 

  • on utilise un script sh afin de lancer

...

  • le Tomcat.
Bloc de code
#!/bin/sh
JAVA_HOME=/usr/java/j2sdk1.4;export JAVA_HOME
JAVA_OPTS="-server ";export JAVA_OPTS
# si debug : mettre MY_DEBUG a 1, et preciser le port avec JPDA_ADDRESS
MY_DEBUG=1
JPDA_ADDRESS=55555;export JPDA_ADDRESS
CATALINA_HOME=/home/cri/jmarchal/uPortal/Tomcat;export CATALINA_HOME
CATALINA_BASE=$CATALINA_HOME;export CATALINA_BASE
if [ "$MY_DEBUG" = "1" ]; then
	$CATALINA_HOME/bin/catalina.sh jpda start
else
	$CATALINA_HOME/bin/catalina.sh start
fi

...

Tomcat utilise des variables d'environement afin de choisir le port d'attente de la socket de debug (JPDA_ADDRESS).

  • dans la deuxième solution, on positionne l'ensemble des options Java supplémentaires en définissant uniquement la variable JAVA_OPTS

Sous un UNIX:

Bloc de code

JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"

Sous un Windows :

Bloc de code

rem set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y %JAVA_OPTS%

Remarquez ici l'option suspend : positionnée à y elle permet de faire temporiser le démarrage du Tomcat, celui-ci ne démarrant que si la communication socket est activée. Cela permet notamment de débuguer l'initialisation des applications, ce qui peut s'avérer bien pratique.

La seconde partie de cette manipulation va se faire du coté Eclipse.

Avant toutes chose il faut afficher la perspective debugage Fenêtre -> Ouvrir la perspective -> Autre:

Choisir Debogage :
Votre afficahge va changer comme suit :

Ensuite il faut créer un profil de debugage :


Chosissez Application Java distante puis cliquer sur Nouveau.
Donner un nom à cette configuration.
Choisissez le projet auquelle la configuration doit faire référence.
Valuez le nom du serveur distant (Hôte) et le port qui doit être le même que le JPDA_ADDRESS (cf script de lancement au dessus)



...