Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


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 :
Quote: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
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#2

Nouvelle version disponible : v2.0

Changelog partiel :
Quote: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.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#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)


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 ?
#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.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#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 ?
#6
Information 
A titre totalement informatif, si vous rencontrer l'erreur :

Quote:[Live Bug Tracer - Erreur] La version de votre Eggdrop est 1.9.1 1090102; Live Bug Tracer ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure.

Et que vous utilisez une version plus récente que 1.6.20 telle que 1.9.x le script Live Bug Tracer fonctionne après une modification. Supprimer la ligne 115 contenant :


tcl
if { [join [split [::tcl::string::range [lindex $version 0] 0 5] "."] ""] < 1620 } { putloglev o * "\00304\[Live Bug Tracer - Erreur\]\003 La version de votre Eggdrop est \00304[set ::version]\003; Live Bug Tracer ne fonctionnera correctement que sur les Eggdrops version 1.6.20 ou supérieure." ; return }


Et relancer votre eggdrop.



méthode 2:
Si vous voulez garder la vérification de version remplacer a la ligne 115

tcl
if { [join [split [::tcl::string::range [lindex $version 0] 0 5] "."] ""] < 1620 } {


par


tcl
if { [package vcompare [regexp -inline {^[[:digit:]\.]+} $::version] 1.6.20] == -1 } {

#7
Déjà signalé dans d'autres scripts (par exemple ici) mais ça mérite effectivement d'être redit et je vais faire un sujet épinglé pour le mettre en avant comme il faut
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Possibly Related Threads…
Thread Author Replies Views Last Post
  Motus (version actuelle : 3.357) MenzAgitat 485 64,048 05/06/2022, 18:45
Last Post: MenzAgitat
  [Script] Interface MegaHAL (version actuelle : 4.1.0) MenzAgitat 191 89,814 29/05/2022, 20:42
Last Post: berni13
  [Script] MediaDico (version actuelle : 3.126) MenzAgitat 35 31,077 29/05/2022, 18:52
Last Post: MenzAgitat
  [Script] Duck Hunt (version actuelle : 2.11) MenzAgitat 68 27,537 24/10/2021, 01:04
Last Post: LTEF
  [Script] Reanimator (version actuelle : 1.2) MenzAgitat 31 19,337 10/10/2020, 16:07
Last Post: ZarTek
  [Script] Topic Warden (version actuelle : 1.54) MenzAgitat 23 19,275 10/10/2020, 15:51
Last Post: ZarTek
  [Script] Automatic Translator (version actuelle : 1.1) MenzAgitat 11 8,698 18/09/2020, 15:21
Last Post: MenzAgitat
  Nick Change Responder (version actuelle : 2.31) MenzAgitat 46 31,131 18/08/2020, 16:47
Last Post: CrazyCat
  [Script] Anti-Frenzy (version actuelle : 2.02) MenzAgitat 9 9,713 22/04/2020, 13:51
Last Post: MenzAgitat
  [Script] DicoReverso (version actuelle : 1.03) MenzAgitat 3 7,872 18/04/2020, 02:20
Last Post: MenzAgitat

Forum Jump:


Users browsing this thread: 1 Guest(s)