Live Bug Tracer (version actuelle : 2.0)
#1
Description :

Live Bug Tracer est une boîte à outils de déboguage. Ce script s'adresse aux développeurs Tcl, mais aussi à l'utilisateur lambda qui y trouvera plusieurs fonctionnalités simples d'utilisation et potentiellement très utiles.

Les retours du débogueur s'affichent en partyline; vous devez donc vous y connecter sans quoi vous ne verrez rien.


Fonctionnalités :
  • Affichage (et log) automatique du backtrace si votre eggdrop rencontre une erreur. En cas d'erreurs redondantes, seule la première occurrence est affichée. Plus besoin d'avoir activé la commande .set en partyline pour pouvoir afficher le backtrace d'une erreur, plus besoin non plus d'être là au bon moment ni d'être hyper rapide pour taper .set errorInfo après qu'une erreur se soit produite. Exit des prises de tête pour traquer un bug qui se produit une fois par mois et pour lequel on n'est jamais là au bon moment pour observer ce qui s'est passé.
  • Différenciation erreur catchée / non catchée et possibilité de n'afficher que les unes, les autres, ou les deux.
  • Système anti-boucle infinie permettant de détecter / interrompre / afficher les types courants de boucles infinies. Un eggdrop qui cesse de répondre, consomme beaucoup de temps processeur et quitte en ping timeout vient vraisemblablement d'exécuter une boucle infinie.
  • Surveillance des lectures / écritures / suppression d'une variable statique.
  • Surveillance des lectures / écritures / suppression d'une variable temporaire dans une procédure (n'existant que durant l'exécution de la procédure).
  • Surveillance des appels / retours / suppression / renommage d'une procédure.
  • Surveillance des appels / retours / suppression / renommage d'une commande.
  • Traçage de l'exécution d'une procédure ligne par ligne.

Commandes :

.autobacktrace <argument(s)>
Permet de gérer le backtrace automatique des erreurs.
Arguments acceptés :
+/-errors
Active/désactive le backtrace automatique des erreurs non-catchées.
+/-catch
Active/désactive le backtrace automatique des erreurs catchées.
status
Affiche le statut du backtrace automatique.
.loopfuse <on/off/status>
Permet d'activer/désactiver la protection anti-boucle infinie, ou d'afficher son statut.
.watch <$variable/procédure/commande> [off]
Commence ou cesse la surveillance d'une variable statique, d'une procédure ou d'une commande.
.watch <$variable> in <procédure> [off]
Commence ou cesse la surveillance d'une variable temporaire dans la procédure spécifiée. Vous ne pouvez avoir qu'une seule surveillance de ce type à la fois.
.trace <procédure> [off]
Commence ou cesse le traçage d'une procédure.
Dans les lignes affichées lors d'un traçage de procédure, "rec" indique la profondeur de récursion et "lvl" le niveau de pile.
.debuglist
Affiche tous les trace actifs posés par Live Bug Tracer.
Certains trace peuvent être suivis de la mention "(latent)", ce qui signifie qu'ils ne sont actifs que durant l'exécution d'une certaine procédure.
.detachdebuggers
Cesse tous les traçages/surveillances que vous avez pu mettre au moyen des commandes .trace ou .watch.

Remarque : toutes les commandes sont disponibles en 2 versions : publique et partyline.


Screenshots :

[Image: http://img715.imageshack.us/img715/6030/lbterror.png]

[Image: http://img51.imageshack.us/img51/7697/lbtloopfuse.png]

[Image: http://img571.imageshack.us/img571/1584/...riable.png]

[Image: http://img28.imageshack.us/img28/5632/lbtwatchproc.png]

[Image: http://img13.imageshack.us/img13/4426/lb...ommand.png]

[Image: http://img21.imageshack.us/img21/3065/lb...inproc.png]

[Image: http://img838.imageshack.us/img838/5870/lbttrace.png]


Changelog :
Citation :v1.0
  • 1ère version
v2.0
  • Trop de nouveautés et de changements pour tous les énumérer, la v1.0 possédait pour toute fonctionnalité d'afficher le backtrace des erreurs en temps réel.
  • Passage sous licence Creative Commons

Téléchargement :

Live Bug Tracer v2.0
  Répondre   Avertir
#2

Nouvelle version disponible : v2.0

Changelog partiel :
Citation :v2.0
  • Trop de nouveautés et de changements pour tous les énumérer, la v1.0 possédait pour toute fonctionnalité d'afficher le backtrace des erreurs en temps réel.
  • Passage sous licence Creative Commons
Veuillez vous reporter à ce post pour une description détaillée des nouveautés.

Téléchargement :

Live Bug Tracer v2.0

Laissez vos commentaires / suggestions / rapports de bugs.
  Répondre   Avertir
#3
Bonjour,
J'ai un petit problème sur un de mes eggdrops quand je le lance avec ce script :

[tcl]
[21:39:20] invalid command name "::tcl::info::commands"
while executing
"::tcl::info::commands ::LiveBugTracer::uninstall"
(file "scripts/Live_Bug_Tracer.tcl" line 1)
[/tcl]

Voici plus d'informations surmon eggdrop :
Code :
Eggdrop v1.8.0+unsignedtraffic (C) 1997 Robey Pointer (C) 2010 Eggheads
  (patches: CVS 1320962776 unsignedtraffic)
Configured with:
Compiled with: IPv6, TLS, handlen=32

Eggdrop v1.8.0+unsignedtraffic (C) 1997 Robey Pointer (C) 2010 Eggheads
[21:31:46] --- Loading eggdrop v1.8.0+unsignedtraffic (Sun Jun 24 2012)
[21:31:46] Listening at telnet port 3333 (all).
[21:31:46] Module loaded: channels
[21:31:46] Module loaded: dns
[21:31:46] Module loaded: transfer         (with lang support)
[21:31:46] Module loaded: share
[21:31:46] Module loaded: server
[21:31:46] Module loaded: ctcp
[21:31:46] Module loaded: irc
[21:31:46] Module loaded: notes            (with lang support)
[21:31:46] Module loaded: console          (with lang support)
[21:31:46] Module loaded: blowfish
[21:31:46] Module loaded: uptime

Je ne comprend pas qu'il arrive pas a avoir une commande comme ::tcl::info::commands, quelqu'un à une idée ?
  Répondre   Avertir
#4
Test fait avec un "Eggdrop v1.8.0+stripmoar" (1080003 CVS 1340407724 stripmoar), ça fonctionne.
Peut-être devrais-tu mettre ton egg à jour, ce problème semble être corrigé dans les nouvelles versions.
  Répondre   Avertir
#5
Le problème est identique sous CVS 1340407724 stripmoar.

Je ne comprend pas, ça viendrai de TCL ?
Comment je peu vérifier où ça set "::tcl::info::commands" c'est dans des pkgindex.tcl quelque part ?
  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Script] Reanimator (version actuelle : 1.2) MenzAgitat 25 10,371 11/05/2019, 00:53
Dernier message: Barback
  [Script] Motus (version actuelle : 3.355) MenzAgitat 450 340,037 10/05/2019, 13:19
Dernier message: Barback
  [Script] Duck Hunt (version actuelle : 2.11) MenzAgitat 33 11,708 24/02/2019, 18:52
Dernier message: LokYnesS
  [Script] DicoReverso (version actuelle : 1.02) MenzAgitat 2 4,037 16/07/2018, 11:43
Dernier message: MenzAgitat
  [Script] Automatic Translator (version actuelle : 1.03) MenzAgitat 6 4,198 26/12/2017, 20:50
Dernier message: templala
  [Script] Oracle (version actuelle : 2.3.1) MenzAgitat 16 9,891 14/09/2017, 16:21
Dernier message: MenzAgitat
  [Script] MediaDico (version actuelle : 3.125) MenzAgitat 29 19,757 19/07/2017, 01:41
Dernier message: MenzAgitat
  [Script] Interface MegaHAL (version actuelle : 4.1.0) MenzAgitat 109 61,278 13/05/2017, 18:50
Dernier message: Vanadiium
  Public Quotes System (version actuelle : 2.52) MenzAgitat 100 59,590 07/03/2017, 19:26
Dernier message: Rikudo
  [Script] Menz Agitat's Timebomb (version actuelle : 1.3) MenzAgitat 9 6,481 20/08/2016, 21:13
Dernier message: R0uLi

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)