[Users-fr] DEBUG

classic Classic list List threaded Threaded
4 messages Options
Stef Stef
Reply | Threaded
Open this post in threaded view
|

[Users-fr] DEBUG

OK,

un intérêt (si ce n'est, l'intérêt) d'être en mode debug est de pouvoir déceler une erreur dans le code.

OR, pas moyen de setter un breakpoint, ou plutôt, le programme ne s'arrête pas à la ligne où j'ai setté le breakpoint en cas d'erreur, et donc, impossible de débuger mon problème.

Des alternatives ?

Merci,

--
Stéphane Franiatte, B.Ing. / B.Eng.


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
David Chèze David Chèze
Reply | Threaded
Open this post in threaded view
|

Re: [Users-fr] DEBUG

Bonjour,

de ce que j'en sais le debug est pour l'instant basé sur l'utilisation de la commande 'pause' pour ensuite pouvoir consulter le contexte dans la console (resume ou abort pour reprendre ou interrompre l'exécution), personnellement c'est ce que j'utilise le plus souvent pour les scripts.
Les fonctions set breakpoint semblent un peu datées, apparemment plutôt un héritage dont le développement n'a pas été poursuivi.
Du coup pour un debogage plutôt comme une trace d'exécution, on peut créer une variable globale debug 0/1 et rajouter des test if debug un peu partout  dans le code là où on veut inspecter les variables. C'est assez 'manuel' mais on s'en sort...
Il y a un bloc DEBUG dans xcos qui permet de tracer systématiquement tous les composants, avec des niveaux de verbosité mais on ne peut pas cibler tel ou tel composant.


David
Serge Steer-2 Serge Steer-2
Reply | Threaded
Open this post in threaded view
|

Re: DEBUG

In reply to this post by Stef
Le 14/03/2013 20:06, Stéphane Franiatte a écrit :
OK,

un intérêt (si ce n'est, l'intérêt) d'être en mode debug est de pouvoir déceler une erreur dans le code.

OR, pas moyen de setter un breakpoint, ou plutôt, le programme ne s'arrête pas à la ligne où j'ai setté le breakpoint en cas d'erreur,
Attention lorsque vous declarez un point d'arret dans une fonction, avec la fonction setbpt, le numero de ligne correspond au numero de ligne relatif  à la fonction (le 1 correspond a la ligne function) et non le numero de ligne dans le fichier. En particulier si vous avez des commentaires avant la ligne fonction il ne sont pas compté dans la numerotation.
Serge
et donc, impossible de débuger mon problème.
Dans le cas d'une execution qui genere une erreur, vous pouvez aussi demander que Scilab se mette en pause a l'endroir de l'erreur en faisant preceder l'instruction de
errcatch(-1,'pause')

Serge Steer

Des alternatives ?

Merci,

--
Stéphane Franiatte, B.Ing. / B.Eng.



_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr


_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr
Samuel GOUGEON Samuel GOUGEON
Reply | Threaded
Open this post in threaded view
|

Re: DEBUG

In reply to this post by Stef
Bonjour,

Le 14/03/2013 20:06, Stéphane Franiatte a écrit :
> OK,
>
> un intérêt (si ce n'est, l'intérêt) d'être en mode debug est de
> pouvoir déceler une erreur dans le code.
>
> OR, pas moyen de setter un breakpoint, ou plutôt, le programme ne
> s'arrête pas à la ligne où j'ai setté le breakpoint en cas d'erreur,

Pour compléter la réponse de Serge concernant la numérotation des lignes :
Pour que les n° correspondent, il faut impérativement utiliser la
numérotation
de type "whereami" dans Scinotes :
Menu Scinotes Options => Numérotation des lignes => Compatible whereami

Par ailleurs, les éventuelles  instructions s'étendant sur plusieurs
lignes en utilisant ".."
perturbent la correspondance.

Samuel
_______________________________________________
users-fr mailing list
[hidden email]
http://lists.scilab.org/mailman/listinfo/users-fr