Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
function v=compute(val) v = 1; for i=1:val v = v * i; end endfunction debug break compute 4 "i == 5" exec compute(10) disp val disp i disp v continue quit
Historique
Version | Description |
6.0.0 | Introduction du débogueur intégré, en interface console |
Report an issue | ||
<< Debugging | Debugging | where >> |