Débogage

Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Débogage et celle pour Moodle 3.x est consultable là : Débogage.

Remarque : la traduction de cet article n'est pas terminée. N'hésitez pas à traduire tout ou partie de cette page ou à la compléter. Vous pouvez aussi utiliser la page de discussion pour vos recommandations et suggestions d'améliorations.


Emplacement : Administration > Serveur > Débogage

Debugging messages are intended to help diagnose problems and/or help Moodle developers. If you have a problem with your Moodle site and ask for help in a Moodle.org forum, a developer may ask you to turn debug messages on, in order to locate the cause of the problem. By default Moodle does not show any error messages at all. If you are having problems (e.g. blank screens or incomplete screens) turning on debugging is usually the first thing to try.

Comment activer le débogage

Go into the admin screens, and look under Administration > Server > Debugging (In Moodle 2.0 it is Site administration ▶ Development ▶ Debugging). Set the...

  • Debug messages to ALL, and
  • Display debug messages to Yes.

(You must do both). There is rarely any advantage in going to Developer level, unless you are a developer, in which case it is strongly recommended.

Once you have got the error message, and copied and pasted it somewhere, you are recommended to turn debugging back off again.

Messages de débogage

Moodle1.7

Depuis Moodle 1.7, des options supplémentaires sont prévues pour contrôler la façon de traiter les messages d'erreur PHP. L'administrateur peut sélectionner les types de messages d'erreur à afficher ou loguer.

Les options de débogage sont :

  • NONE: Do not show any errors or warnings
  • MINIMAL: Show only fatal errors
  • NORMAL: Show errors, warnings and notices
  • ALL: Show all reasonable PHP debug messages. When you want to find the cause of a problem with your site, this is probably best the setting to use.
  • DEVELOPER: extra Moodle debug messages for developers - If you turn this on, then PHP's error_reporting will be increased so that more warnings are printed. This is almost essential for developers, but not very helpful for anyone else.

Afficher les informations de débogage

Il y a une option pour choisir d'afficher les messages d'erreur ou simplement les enregistrer dans les logs du serveur.

Débogage de l'envoi des courriels

Détermine l'affichage d'informations de débogage détaillées lors de l'envoi de courriels au serveur SMTP.

Informations de performance

The Performance info option determines whether performance info will be included in the footer of the standard theme (and some other themes). Performance info includes the time for the page to load, the amount of memory used to generate the page, cpu usage, load, and the record cache hit/miss ration.

si vous ajoutez

define('MDL_PERF', true);
define('MDL_PERFDB', true);
define('MDL_PERFTOLOG', true);
define('MDL_PERFTOFOOT', true);

à votre fichier config.php, cela comptera également le nombre de requêtes sur la base de données. (Cela doit être dans le fichier config.php, parce que Moodle commence à faire des requêtes avant de charger les informations de configuration depuis la base de données)

Que faire si vous n'arrivez pas à obtenir la page d'administration

Si l'erreur vous empêche même d'ouvrir la page d'administration permettant d'activer le débogage, vous pouvez l'activer manuellement.

Essayez de saisir l'URL directe

Les préférences de débogage sont à l'URL
http://votre-domaine/moodle/admin/settings.php?section=debugging
sur votre serveur. Parfois, cette URL fonctionnera, même si les pages permettant d'y accéder (par exemple la page d'accueil du site) ne fonctionnent pas. Cela vaut donc la peine d'essayer de saisir directement cette adresse.

Dans le fichier config.php

Dans le fichier moodle/config.php vous pouvez ajouter ces lignes :

$CFG->debug = 2047; 
$CFG->debugdisplay = 1;

Voire même, pour plus de messages de débogage :

$CFG->debug = 6143; 
$CFG->debugdisplay = 1;

Pensez à enlever (ou commenter) ces lignes lorsque vous avez fini de diagnostiquer votre problème.

Dans la base de données

En utilisant un outil comme phpMyAdmin, exécutez les commandes SQL suivantes :

UPDATE mdl_config SET VALUE = 2047 WHERE name = 'debug';
UPDATE mdl_config SET VALUE = 1 WHERE name = 'debugdisplay';

Pour le désactiver, utilisez la page d'administration, ou les commandes suivantes :

UPDATE mdl_config SET VALUE = 0 WHERE name = 'debug';
UPDATE mdl_config SET VALUE = 0 WHERE name = 'debugdisplay';

(Si vous utilisez un préfixe de base de données différent, pensez à modifier ces commandes en conséquence)

Voir aussi