Le PortailSIG est issu d'une volonté de vous informer sur l'actualités des Systèmes d'Information Géographique, mais également de mettre en commun des ressources s'y rapportant, aussi diverses que des articles, des tutoriaux, des FAQs, des scripts et documents téléchargeables et d'autres fonctionnalités que nous essaierons de vous apporter au cours des évolutions de cette version 2 du PortailSIG.
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".
- Ajouter un commentaire
- 418 lectures