Skip to Content

Comment déboguer un MapFile ?

Auteur : L.Jégou

Pour déboguer un MapFile, traquer et corriger les erreurs, plusieurs solutions sont envisageables :

  • l'activation du débogage d'Apache (ou autre logiciel serveur).
  • l'activation du débogage de MapServer.

Le débogage d'Apache consiste en un tracing des opérations, c'est à dire à la rédaction automatique d'une liste (plus ou moins détaillée) des opérations et des problèmes rencontrés par le logiciel serveur au cours de son exécution.

Cette fonction est généralement activée par défaut sur Apache 1 et 2, mais avec les paramètres par défaut le niveau de détail du tracing peut être trop faible. Dans le fichier de configuration httpd.conf, le tracing des erreurs est défini par les paramètres suivants :

  • ErrorLog logs/error_log : chemin vers le fichier contenant le tracing, relatif au répertoire de base d'Apache (/usr/local/apache ou apache2 par défaut).
  • LogLevel warn : "warn" est le niveau de détail par défaut, moyen. Vous avez le choix entre debug, info, notice, warn, error, crit, alert, emerg, du plus détaillé vers le moins. Si le niveau "warn" ne permet pas de faire ressortir la cause du problème, vous pouver progressivement passer à un niveau plus bavard, en modifiant la valeur du paramètre et en redémarrant Apache (restart).


Le débogage de MapServer (expliqué ici sur le wiki officiel) permet de réaliser la même opération de tracing, mais concernant l'activité de MapServer. Son activation consiste en l'ajout du paramètre "DEBUG ON" dans le bloc pouvant être fautif. Le tracing se fera alors dans la sortie standard (std_out) du serveur, dans le log_error d'Apache, ou dans le fichier pointé par la variable d'environnement système "MS_ERRORFILE". On peut mettre en place cette variable directement dans le fichier de configuration d'Apache, avec la syntaxe suivante :

SetEnv MS_ERRORFILE "chemin"

Autre possibilité, plus simple, ajouter un paramètre LOG [fichier] dans le bloc WEB du mapfile.

Il est aussi possible d'utiliser des tracing d'erreur avec GDAL/OGR et PROJ, en activant respectivement les variables d'environnement "CPL_DEBUG" et "PROJ_DEBUG".