Karrigell Documentation

Version 2.2.1 13 12 05

English

6. Débogage

6.1 Mode debug

Quand vous testez de nouvelles versions d'un programme, il arrive souvent de modifier un module importé par des scripts. Pour des raisons de performance, l'interpréteur standard de Python utilise des versions compilées des modules importées, et ne tient pas compte de modifications dans le code source

En mettant l'option debug à 1 dans le fichier de configuartion, les modules dont le code source a été modifié depuis leur dernière utilisation seront rechargés

Une fois que le programme est au point, vous pouvez mettre le mode debug à 0

6.2 Gestion des erreurs et débogueur

Si une erreur survient quand on appelle une URL, une trace est affichée dans le navigateur

L'information fournie consiste en :

  • l'url appelée
  • une table relative au script dans lequel l'erreur s'est produite : il se peut que ce ne soit pas celui dont le nom correspond à l'URL, si l'erreur est survenue dans un script inclus par la fonction Include(). La table montre le nom du script, le nom de l'exception, le numéro et le texte de la ligne dans le script erronné
  • la trace Python brute
  • un bouton "debug"
Par exemple :

Error in /demo/errors/ErrorInIncludedTest1.py

/demo/errors/ErrorInIncludedTest1.py
 includes /demo/errors/ErrorInIncludedTest2.py
Script /demo/errors/ErrorInIncludedTest1.py
NameError: name 'bonjour' is not defined Line 1     print 'Script 1'
Traceback (most recent call last):
  File "C:\cygwin\home\Karrigell\Template.py", line 153, in render
    exec self.pythonCode() in ns
  File "<string>", line 1, in ?
NameError: name 'bonjour' is not defined
Avec ce bouton "Debug" on accède à plus d'informations au sujet de l'erreur :
  • le code source, avec syntaxe colorée et la ligne où s'est produite l'erreur mise en évidence
  • une vue de l'environnement, dans laquelle on peut naviguer pour trouver la valeur des variables, le code source des fonctions et méthodes, etc

Aperçu :