Démarrer une session de débogage Jeedom

Voyons ici comment démarrer une session de débogage. Deux cas possible selon que nous souhaitons déboguer les tâches du serveur Web (l’interaction avec le navigateur) ou les tâches cron exécutées par le core de Jeedom.

Déboguer les tâches du serveur Web

Les navigateurs (Firefox, Chrome pour le moins) proposent une extension indispensable permettant de lancer le débogage à la volée via un bouton.

Extension Xdebug pour Firefox

L’installer:

  • Sur Firefox : via menu -> Modules complémentaires, le nom de l’extension étant Xdebug-ext;
  • Sur Chrome : via menu -> Plus d’outils -> Extensions, le nom de l’extension étant Xdebug helper.

L’utilisation est simple, il suffit d’activer/désactiver le débogage via le bouton lorsque souhaité. Bien sûr, il faut avoir préalablement défini des points d’arrêt côté Eclipse. Ce dernier montera au premier plan lorsque le point d’arrêt est atteint.

Déboguer les tâches cron

Pour se faire il faut modifier temporairement – pendant la session de débogage – la fonction nommée php du fichier core/class/system.class.php comme suit:

return exec('export XDEBUG_CONFIG="idekey=ECLIPSE_DBGP"; php ' . $arguments);

Eclipse devrait monter au premier lorsque les tâches cron se lancent (avoir au préalablement positionner des points d’arrêt dans le code bien sûr).