debug
Lance le mode débogage de Scilab
Séquence d'appel
debug
Description
debug
met Scilab en mode débogage pour les fonctions écrites en
langage Scilab. The prompt becomes debug>
.
Ce mode permet de définir et gérer des points d'arrêt au sein des fonctions, d'exécuter des fonctions pas à pas, de lancer des exécutions avec arrêt sur erreur, etc.
Commandes en mode débogage
h: Affiche l'aide du débogueur dans la console, quel que soit le mode de lancement de Scilab.
help: En mode Scilab standard (avec fenêtres et interfaces graphiques), ouvre le navigateur d'aide. Sinon affiche l'aide du debogueur dans la console (comme avec "h").
(q)uit: Quitte l'environnement de débogage et revient au mode normal de Scilab.
(w)here ou bt: Affiche la pile d'appel.
(e)xec, ou (r)un: Exécute une commande.
(d)isp var, ou (p)rint var:
Affiche la variable var
.
(c)ontinue: Poursuit l'éxécution.
(a)bort: Annule l'éxécution.
step(n)ext ou next: Poursuit l'éxécution jusqu'a l'expression suivante.
step(i)n ou in: Poursuit l'éxécution dans la sous fonction.
step(o)ut ou out: Poursuit l'éxécution jusqu'à revenir dans la fonction appelante.
(b)reakpoint ou break:
breakpoint function [line [condition]]
:
Ajoute un point d'arrêt dans une fonction, à la ligne line
indiquée.
Si une condition est spécifiée, le point d'arrêt devient actif uniquement si
la condition est vérifiée lors de l'éxécution.
(del)ete [n]: Supprime tous les points d'arrêt. Si n est spécifié, supprime le point d'arrêt #n
enable [n]: Active tous les points d'arrêt. Si n est spécifié, active le point d'arrêt #n.
disable [n]: Désactive tous les points d'arrêt. Si n est spécifié, désactive le point d'arrêt #n.
(s)how [n]: Affiche toutes les informations sur les points d'arrêt. Si n est spécifié, affiche les informations du point d'arrêt #n.
Déboguer un script
Déboguer une série d'instructions résidant hors de toute fonction requiert de les encapsuler dans une fonction factice. Exemple: nous souhaitons déboguer les instructions suivantes :
Nous devons préalablement les inscrire dans une fonction quelconque :
puis exécuter ce bloc function/endfunction (en mode Scilab normal) afin de définir script() dans la session Scilab. Toutes les commandes du débogueur peuvent alors être utilisée au sein de script() : points d'arrêt, avance pas à pas, etc.
Exemples
//fonction de surcharge de la fonction cosinus pour les chaînes de caractères function v=%c_cos(val) printf("val : %s\n", val); v = cos(evstr(val)); endfunction //appelant function a=test_debug() b = cos("%pi"); a = b * 3; endfunction debug break test_debug exec test_debug where stepin disp val continue quit
Historique
Version | Description |
6.0.0 | Introduction du débogueur intégré, en interface console |
Report an issue | ||
<< Debugging | Debugging | where >> |