Logo Eclipse
Merci à GFU!

Je vais aujourd’hui présenter une fonctionnalité très utile de l’environnement de développement Eclipse qui permet de déboguer localement une application s’exécutant sur un serveur d’application distant (Tomcat dans notre cas).

Le principe du débogage distant est le suivant :

  • La JVM avec laquelle fonctionne le serveur applicatif ouvre un socket sur un port spécifique
  • Eclipse va pouvoir se connecter sur ce socket afin d’intercepter les points d’arrêt et de communiquer avec la JVM distante

Configurer Tomcat

Pour utiliser une JVM en mode débogage distant il faut lui paramétrer le port d’attente et la configurer en mode debug. Pour ce faire le plus simple est de modifier certaines variables d’environnement qu’utilise Tomcat. Il est ainsi possible de spécifier le port d’attente de la socket de debug (JPDA_ADDRESS) lors du démarrage du serveur.

  • Dans le fichier startup.bat de votre Tomcat ajouter le paramètre jpda à la ligne de commande qui exécute catalina.bat
Ajout du paramètre JPDA
Ajout du paramètre JPDA

Note : Par défaut la configuration de Tomcat affecte le socket de debug au port 8000, il n’est pas nécessaire de changer cette configuration

Configurer Eclipse

Maintenant il suffit de configurer le debugger d’Eclipse afin qu’il communique avec la JVM.

  • Ouvrir une nouvelle perspective : depuis le menu Windows cliquer sur Open perspective puis sur Others…
  • Sélectionner la vue « Debug » :
Perspective Eclipse : Choisir Debug
Perspective Eclipse : Choisir Debug
  •  La nouvelle perspective devient accessible depuis les raccourcis en haut à droite :

    Perspective Debug
    Perspective Debug
  • Créer un nouveau profil de débogage associé à un projet : depuis le menu Run cliquer sur Debug configuration…
  • Créer un nouveau profil de type « Remote Java Application », préciser son nom et le projet java qui lui est associé comme dans l’exemple ci-dessous :

    Debug Configuration
    Debug Configuration

Les paramètres Host et Port sont normalement bien configurés par défaut c’est à dire avec « localhost »» et « 8000 ». De toute façon le port doit impérativement correspondre à celui qui est spécifié via le paramètre JPDA_ADDRESS de la configuration de Tomcat.

Utiliser le mode Debug

Après avoir démarré Tomcat et déployé le projet, ouvrir la perspective de débogage et lancer le mode « Debug » de l’application via le menu idoine.

Voici un bref descriptif des fonctionnalités du debugger, son utilisation est assez intuitive:

Mode Debug
Mode Debug

[1] : vue des processus en cours d’exécution Debug Run
(le processus courant à partir duquel l’utilisateur réalise un débogage est à l’état de pause Debug Pause)
[2] : vue du code source, la ligne de code en cours d’exécution est surlignée
[3] : les points d’arrêt se positionnent sur la barre verticale grisée située à gauche du code
[4] : liste des objets et des variables accessibles
[5] : valeur de la variable sélectionnée (elle peut être changée en temps réel avec [Ctrl]+[S])
[6] : liste des points d’arrêt
[7] : log de la console

Le débogage est habituellement piloté par les actions suivantes :

  • Resume [F8]  : reprise de l’exécution Debug Resume
  • Stop [Ctrl]+[F2] : arrêt de l’exécution
  • Step into [F5]  : rentrer dans la prochaine méthode Step Into
  • Step over [F6]  : exécution pas à pas Step Over
  • Step return [F7]  : sortit de la méthode courante Step return
  • Run to line [Ctrl]+[R] : aller jusqu’à la ligne courante (celle du curseur)

A vous de jouer!

Publicités