Ce guide explique comment utiliser des outils de développement de Firefox pour déboguer une instance différente de Firefox pour ordinateur tournant sur la même machine. Dans ce guide, l'instance de Firefox qui sera déboguée sera référencée sous l'appellation le débogué. tournant l’instance qui fait le débogage sera appelé le déboguant.
Activer le débogage distant
Tout d'abord, il est nécessaire de s'assurer que le déboguant et le débogué aient tous les deux les options "Activer le débogage du chrome du navigateur et des modules" et "Activer le débogage distant" d'activés dans les options des outils de développement. Si vous utilisez Firefox Developer Edition, ces options sont activées par défaut.
Cette étape n'est nécessaire qu'une seule fois : les valeurs de ces options sont persistantes et resteront les mêmes jusqu'à ce que vous les changiez de nouveau.
Lancer le serveur de débogage
Ensuite, il faut lancer le serveur de débogage dans le débogué.
Avant Firefox 37
Avant Firefox 37: il faut ouvrir la barre de développement (Maj + F2) et entrer la commande suivante :
listen 6000
Cela dit au débogué d'écouter pour les clients de débogage qui se connecte sur le port 6000. Le port utilisé ici n'est pas important, vous n'êtes pas obligé de l'utiliser
Lors d'un redémarrage du débogué, il est nécessaire d'entrer à nouveau cette commande.
Depuis Firefox 37
Depuis Firefox 37 la méthode ci-dessus fonction toujours, mais il existe une alternative : lancez le débogué en ligne de commande avec l'option --start-debugger-server
:
/path/to/firefox --start-debugger-server
Passée sans argument, --start-debugger-server lance l'écoute sur le port 6000. Pour utiliser un port différent, il faut passer le port désiré :
/path/to/firefox --start-debugger-server 1234
Note: Sous Windows, l'appel start-debugger-server
n'a qu'un seul tiret :
firefox.exe -start-debugger-server 1234
Note: Par défaut, et pour des raisons de sécurité, l'option devtools.debugger.force-local
est activé. Si vous voulez déboguer une instance de Firefox sur une machine externe, il est possible de changer cette option, mais il est extrêmement recommandé de faire cela que sur un réseau de confiance ou d'avoir au préalable instauré une règle de pare-feu forte pour déterminer quelle machine peut y accéder.
Connexion
Il y a deux façons différentes de se connecter : utiliser l'écran de connexion, ou utiliser WebIDE.
Écran de connections
Dans le déboguant, sous le menu Tools/Web Developer, il y a un bouton nommé "Connect". Cliquer dessus révèle cette page :
Il faut alors entrer le port que le débogué écoute et appuyer sur "Connect". Une pop up de confirmation du débogué devrait alors apparaitre pour confirmer la connexion :
Clique sur "OK", et revenir sur le déboguant affichera cette page :
- En dessous de "Available remote tabs" se trouve une liste de tous les onglets ouverts dans le débogué. Cliquer sur un onglet attache les outils de développement à cet onglet.
- En dessous de "Available remote add-ons" se trouve une liste de tous les modules complémentaires installés dans le débogué. Clquer sur un module attachera les outils de développement à ce module.
- En dessous de "Available remote processes" se trouve une liste des processus tournant dans Firefox. Cliquer sur "Main process" attachera les outils de développement sur le navigateur lui-même.
WebIDE
Pour cette méthode, il faut ouvrir WebIDE dans le déboguant, et dans le panneau de droite sélectionner "Environement distant" :
Il est alors demandé un nom d'hôte et un port. Il faut entre "localhost:6000", ou bien un port différent si vous avez changé celui par défaut.
Une pop-up d'avertissement s'affichera alors :
Cliquer sur OK fera que WebIDE attachera les outils de développement au processus principal du débogué. Si vous désirez attacher les outils sur un onglet, il faut ouvrir le menu à gauche et sélectionner le processus que vous souhaitez déboguer.