Débuguer vos scripts avec notepad++ et xdebug

Débuguer vos scripts avec notepad++ et xdebug

Avant-propos

Pour les besoins du tutoriel, il nous faudra :

C'est quoi Notepad++ ?

Notepad++ est un éditeur de code gratuit, TRES LEGER et open source. Il reconnaît de nombreux langages de programmation dont le php.

C'est quoi Xdebug ?

Xdebug est une extension qui vous permet de déboguer vos scripts en vous fournissant de nombreuses informations de débogage utile.

Installation de Notepad++

L'installation est facile, je ne vais pas m'attarder dessus.

Installation de WampServer

Il existe de nombreux tutoriels sur le net qui expliquent comment l'installer donc là encore je ne vais pas m'attarder dessus.

Installation de Easy Xdebug

Trop facile d'installer un addon, donc je vais pas m'attarder.

Installation personnalisé de Xdebug

Pour installer Xdebug, rendez-vous sur cette page, ensuite lancez Wampserver et copiez les informations de phpinfo() (accès direct à phpinfo : http://localhost/?phpinfo=1) Ctrl+A, puis Crtl+C.

Retournez sur la page de Xdebug et collez dans le textarea par un Crtl+V.

Appuyez sur le bouton : Analyse my phpinfo() output.

Vous obtiendrez alors la liste des informations recueillies et nécessaires pour l'utilisation de Xdebug !

Allez au bas de la page et téléchargez la version Xdebug proposée.

Dans mon cas, cela ressemble à quelque chose comme : php_xdebug-2.1.0-5.3-vc6.dll

Une fois le fichier dll téléchargé, déplacez-le dans : c:\wamp\bin\php\php5.x.x\ext\

ATTENTION : php5.x.x où les 'x' représente la version php utilisé.

Dans mon cas, c'est: c:\wamp\bin\php\php5.3.0\ext\

Maintenant, ouvrez-le fichier php.ini (C:\wamp\bin\apache\Apache2.x.x\bin\php.ini) et ajoutez à la fin :

zend_extension="c:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.1.0-5.3-vc6.dll"
xdebug.remote_enable=On
xdebug.profiler_output_dir="C:\wamp\tmp"
xdebug.idekey=xdebug-npp

Ceci correspond à une configuration générale.

  • zend_extension : correspond à l'endroit où est installé Xdebug.
  • xdebug.remote_enable : Indique si un client de débogage est à l'écoute sur l'hôte (localhost) et le port (9000). Nous l'avons placé à 'ON' pour indiquer que Oui, le client étant Notepad++ dans notre cas.
  • xdebug.profiler_output_dir : Indique l'endroit où le cache des profils sera enregistré
  • xdebug.idekey : Indique l'ID clé qui devra être transmis au gestionnaire de débogeur DBGp. Dans notre cas on indique xdebug-npp ('npp' pour Notepad++).

Pour certain IDE la définition de celui n'est obligatoire car fournit par l'IDE lui-même.

Bien, maintenant enregistrez les modifications du fichier php.ini : Crtl+S et fermez le fichier.
Puis redémarrez les services de Wampserver.

Configuration de Easy Xdebug dans FIREFOX

Ouvrez FIREFOX si n'est pas déjà fait !

Onglet Outils > Modules complémentaires >Vérifiez que vous êtes dans le répertoire EXTENSIONS puis Cherchez/Sélectionnez Easy Xdebug et cliquez sur options.

Une fenêtre s'ouvre !

Allez dans SETTINGS (en bas de fenêtre) et insérez dans [Xdebug.idekey value] : xdebug-npp

Cliquer OK !

Installation de DBGp dans Notepad++ et configuration

Nous avons presque fini !!

Normalement, à cette étape vous avez déjà téléchargé le plugin DBGp pour Notepad++ comme indiqué dans l'avant-propos de ce tutoriel.

Pour l'installer, ouvrez le fichier téléchargé : DBGpPlugin_0_12b_dll.zip

Décompressez le fichier dbgpPlugin.dll dans le répertoire où vous avez installé Notepad++, dans le répertoire plugins.

Ouvrez Notepad++, puis onglet Compléments->DBGp->Config.

Une fenêtre s'ouvre !

Configurez comme suit :

Redémarrez Notepad++

Effectuons un débogage

Dans Notepad++, Onglet Compléments->DBGp->Debug
Cette action met sous surveillance l'hôte et le port.

Ouvrez FF puis chargez une page de votre projet.

Ensuite, en bas de la fenêtre principale de FireFox cliquez (droit) sur la petite puce verte pour activer la session de débugage avec Easy Xdebug :
Désactiver :

Recharger la page de votre projet...Eh hop ! Comme par magie Notepad++ se met à clignoter !!!

Cela signifie que le débogage à commencer. Allez sur Notepad++ et avancez dans votre script par étapes... Vous débuggez , vous comprenez le fonctionnement de votre script ! ;)

Fenêtre d'informations de débogage :

Je ne m'attarde pas sur l'utilisation, il y a des infos bulles sur les boutons pour vous aider...et puis bossez un peu aussi !

Conclusion

Loin des gros IDE tels que : Eclipse PDT, PHPEDIT et j'en passe...Notepad++ peut être une excellente alternative sans prétention particulière pour la création de vos petits projets.

Plus agréable que des 'echo', 'var_dump' et compagnies... Notepad++ est l'outil qui vous permettra de rendre un peu plus cohérent vos scripts, de comprendre ce qui pose problèmes et qui vous fera gagner un gain de productivité dans vos créations.

A voir également
Ce document intitulé « Débuguer vos scripts avec notepad++ et xdebug » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous