Javascript Debug avec Eclipse Mars

Cet article est périmé. Il montre une utilisation de technologies qui fonctionnait au moment de son écriture, mais dont actuellement je ne sais si son fonctionnement est opérationnel et/ou pertinent.
J’ajoute que j’ai été contacté pour indiquer ce lien ci-dessous en référence sur les alternatives à firebug. J’avoue que la liste est correcte, mais que je ne me limiterai pas à cette page :
https://www.pcwdld.com/firebug-alternatives-javascript-debugging-tools

La liaison de débuggage Javascript dans le navigateur est par contre très utile et à retrouver ici : https://pierrejean.wp.imt.fr/2021/03/03/ligne-de-commande-pour-recharger-une-page-dans-chrome/

CrossFire

Je suis un utilisateur régulier de Firebug, donc je me suis tourné vers l’extension Crossfire de Firebug qui permet le « remote debug » depuis Eclipse. Malgré les explications du tutoriel je n’ai pas été capable d’avoir  les points d’arrêt entre Firebug et Eclipse qui fonctionne.

ChromeDevTools

J’ai donc basculer sur la solution Google Chrome Developer Tools for Java. Le projet est « discontinued » mais j’ai quand même fait un essai.

Configuration de base:

  • Eclipse for PHP Developer Version: Mars.1 Release (4.5.1)
  • Chromium 48.0.2539.0 (64-bit)

Installation:

  • Site de Module Eclipse http://chromedevtools.googlecode.com/svn/update/dev/.
    • Installation depuis  ce site Google Chrome Developer Tools

eclipse-install-google javascript remote debugger

Démarrage de Chromium avec le port d’écoute sur 5005 :

chrome.exe  --remote-debugging-port=5005

Configuration d’Eclipse pour le « remote debug » de type « WebKit Protocol »

remote-debug-configuration-eclipse

Phase de Debug

Démarrage du Debug classique par le bouton « Debug » d’Eclipse.

La fenêtre « Debug » d’Eclipse indique que la connection avec Chrome fonctionne bien. Par contre, à ce moment là, les points d’arrêt ne semble pas fonctionner tout le temps.

Mon contournement est donc de mettre le processus de Debug en « Suspend » comme indiqué sur cette capture d’écran:

eclipse-suspend-remote-debug

Et à ce moment là on peut débugger de manière classique avec des points d’arrêts :

javascript-eclipse-remote-debug

 

Pour des breakpoints plus efficace surtout dans les frameworks Jquery et AngularJS, l’utilisation du mot-clef « debugger » est très utile.

eclipe-javascript-breakpoint

 

Et voila.. à voir dans le temps si les variables sont bien échangées, les exécutions bien réalisées, bref si ce processus est robuste en attendant que CrossFire soit aussi plus mature.

A propos Pierre Jean

Ingénieur de Recherche CERIS Centre d'Enseignement et de Recherche en Informatique et Systèmes IMT Mines Alès UMR Euromov DHM Plus de détails sur Pierre JEAN
Ce contenu a été publié dans Développement. Vous pouvez le mettre en favoris avec ce permalien.