Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 10:35 | |
| Bonjour à tous ! Je me suis fait un petit traceur, très basic, en 70 lignes. N’hésitez pas à le modifier, l’améliorer et partager votre version. Ce traceur vous permettra de suivre le cheminement du déroulement d’un programme en pistant les numéros de lignes exécutés. Il sait pister tous les évènements : ON_CLICK, ON_MOUSE_..., ON_CHANGE etc. La visualisation se fait en temps réel dans un LIST à coté de votre programme. Panoramic nous offre l’instruction STOP que vous pouvez insérer à plusieurs endroits dans votre source pour effectuer des points d’arrêt dans l’exécution du source. C’est très pratique et un complément idéal pour faire du traçage. Facultatif mais conseillé :Dans votre source, s’il n’y a pas de commentaires ou autres instructions dans les lignes d’entrées et sorties des sous-programmes, vous aurez en plus, le nom de ces entrées / sorties qui s'affichent. Ces lignes sont : sub maSubAmoi(x,y...) ... end_sub fnc maFonctionPreferee(x,y...) ... end_fnc monSousprogramme: ... return Obligatoire :Traceur ne fonctionne qu’avec le fichier MakeExe.exe à ses côtés (dans le même dossier). Les numéros d'objets 9900 et 9901 ne doivent pas être utilisés dans votre source à tester. Ils sont réservés au fonctionnement du Traceur. !! Ne le testez pas avec le fichier du traceur lui-même, le système se mordrait la queue et vous seriez obligé de tuer la tache via le gestionnaire de tache de Windows !!Pour finir :Les fichiers traceur.exe et makeExe.exe sont disponibles dans mon WebDAV sous le nom de Traceur.zip. Le code-source est ici : - Code:
-
' Traceur dim dir$, fileIn$, ligne%, numeroLigne%, ligneCode$, upperLigneCode$, a$, ordre%, ligneSource% dir$ = DIR_CURRENT$ + "" dlist 10 go() end
sub go() open_dialog 1 filter 1,"Fichier Basic|*.bas" fileIn$ = FILE_name$(1) if fileIn$ = "_" OR fileIn$ = "" exit_sub end_if file_load 10,fileIn$ item_insert 10,1,"form 9900:height 9900,screen_y-50" item_insert 10,2,"list 9901" item_insert 10,3,"font_name 9901,"+chr$(34)+"Consolas"+chr$(34) item_insert 10,4,"parent 9901,9900" item_insert 10,5,"full_space 9901" item_insert 10,6,"caption 9900,Traceur" item_add 10,"' \\STOP" ligne% = 7 ligneCode$ = trim$(item_read$(10,ligne%)) upperLigneCode$ = upper$(ligneCode$) ligneSource% = 1 while ligneCode$ <> "' \\STOP" a$ = "" ligneCode$ = trim$(item_read$(10,ligne%)) upperLigneCode$ = upper$(ligneCode$) if instr(upperLigneCode$,"END") = 1 and len(upperLigneCode$) = 3 a$ = ligneCode$ end_if if instr(upperLigneCode$,"RETURN") = 1 and len(upperLigneCode$) = 6 a$ = ligneCode$ end_if if instr(upperLigneCode$,":") = len(upperLigneCode$) a$ = ligneCode$ ordre% = 1 end_if if instr(upperLigneCode$,"END_SUB") = 1 a$ = ligneCode$ end_if if instr(upperLigneCode$,"END_FNC") = 1 a$ = ligneCode$ end_if if instr(upperLigneCode$,"SUB ")=1 a$ = ligneCode$ ordre% = 1 end_if if instr(upperLigneCode$,"FNC ")=1 a$ = ligneCode$ ordre% = 1 end_if if ordre% = 0 item_insert 10,ligne%,"item_add 9901,str$(" + str$(ligneSource%) +")+" + chr$(34) + chr$(32) + a$ + chr$(34) ligne% = ligne% + 1 item_insert 10,ligne%,"item_select 9901,count(9901)" else item_insert 10,ligne% + 1,"item_add 9901,str$(" + str$(ligneSource%) +")+" + chr$(34) + chr$(32) + a$ + chr$(34) ligne% = ligne% + 1 item_insert 10,ligne% + 1,"item_select 9901,count(9901)" ordre% = 0 end_if ligne% = ligne% + 2 ligneSource% = ligneSource% + 1 end_while file_save 10,"traceur_tmp.bas" execute_wait dir$ + "Make_Exe.exe| -e traceur_tmp.bas" execute "traceur_tmp.exe" file_delete "traceur_tmp.bas" terminate end_sub
Et une p’tite capture d’écran du traceur en action qui piste le source de création d'un dé : Bonne journée à tous ! EDIT du 13/11/2020 16:00Le traceur n'est plus sensible à la casse pour la détection des sous-programmes. Source et WebDAV sont à jour. Ajout de quelques précisions dans la description ci-dessus.
Dernière édition par Marc le Ven 13 Nov 2020 - 17:55, édité 3 fois | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 14:09 | |
| Bonjour Marc, Je me suis dit voilà un petit utilitaire qui va bien me servir. Et puis ça m'a rappelé deux instructions Panoramic auxquelles je ne pense jamais: TRACE_ON F TRACE_OFF ... | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 14:56 | |
| Bonjour JL35 ! Le traceur de Panoramic (Trace_ON F) et celui que j’ai proposé n’ont pas le même fonctionnement. Chacun a des avantages et des inconvénients. Le gros avantage du mien est qu’il piste tous les évènements ON_CLICK, ON_MOUSE… , ON_CHANGE etc. Autre avantage, la visualisation de la trace s’effectue en temps réel. Inconvénient : l’exécution est ralentie. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 15:22 | |
| OK Marc, je n'avais pas regardé dans le détail, ça m'a simplement fait tilt de me rappeler cette instruction panoramic. Je regarderai de plus près sur un cas concret (les occasions ne manquent pas !). Et merci pour le partage, ça peut effectivement faire gagner beaucoup de temps. | |
|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 16:10 | |
| Merci JL35 pour ta participation.
J'ai effectué une mise à jour du Traceur : Il n'est plus sensible à la casse en ce qui concerne la détection des sous-programmes.
Le code-source dans le premier post et mon WebDAV sont à jour.
.
| |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Traceur : suivez vos sources à la trace. Ven 13 Nov 2020 - 19:25 | |
| Salut Marc ! En voila une bonne idée. J'en ai intégré un depuis déjà pas mal de temps dans PanExpress. C'est vrai que c'est vraiment pratique... | |
|
Contenu sponsorisé
| Sujet: Re: Traceur : suivez vos sources à la trace. | |
| |
|