| Violation d'accès. | |
|
+6silverman papydall JL35 Jicehel Jean Claude Pedro 10 participants |
|
Auteur | Message |
---|
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Violation d'accès. Sam 19 Mar 2016 - 21:09 | |
| J'ai codé une capture de toutes les exceptions, avec affichage d'un numéro de ligne quand l'exception arrive pendant l'exécution d'un source. Voici un exemple d'affichage : Demain je termine cela et je mets une version instantanée à disposition. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Violation d'accès. Sam 19 Mar 2016 - 21:51 | |
| Super, merci Jack pour la rapidité.
En attendant je viens d'essayer mon système sur le programme DICO.bas de Mike (voir la rubrique 'Les inutilitaires'). Son programme me fait une erreur 'Indice de liste hors limites (0)', évidemment sans numéro de ligne. Avec mon petit utilitaire ça me donne arrêt à la ligne 250: DB_NB_ENREGISTREMENT=VAL(ITEM_READ$(DB_OUTPUT,1)) Il me manque probablement une ressource, je n'ai pas du tout étudié le programme, mais c'est pour dire que j'ai bien récupéré un numéro de ligne, ce qui limite considérablement les recherches. Et d'autant plus si on ne connaît pas le programme.
Et si c'est en natif dans Panoramic, alors là ça fera des arrachages de cheveux en moins ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Violation d'accès. Sam 19 Mar 2016 - 22:55 | |
| C'est un grand pas en avant, Jack ! Merci pour cet effort ! | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Violation d'accès. Sam 19 Mar 2016 - 23:19 | |
| Merci pour ta réactivité Jack ! Ça va nous changer la vie c'est sûr. | |
|
| |
Invité Invité
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 0:30 | |
| Voila une bonne avancée. Merci Jack
@JL35 Je viens de faire des essais. Je ne pouvais pas avant car je n'avais qu'un Linux. J'ai des problèmes de chemin, j'ai pas trop envie d'aller chercher du côté des noms courts. Vu que d'autres ont essayé, et que ça marche, alors bravo. J'ai du mal à rentrer dans des codes en ce moment, fatigue oblige. |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 20 Mar 2016 - 7:00 | |
| Merci Jack, tu vas sauver quelques uns de mes cheveux... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 8:35 | |
| C'est clair que se sera vraiment un plus surtout pour le public visé par Panoramic: Les débutants et surtout aussi pour ceux qui ne le sont plus et qui le maltraite ou qui font de gros programmes. Bref en somme pour tout le monde quoi... | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 10:05 | |
| Comme dit Klaus, c'est un grand pas en avant pour Panoramic et ses adeptes. A+ | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 13:41 | |
| @cosmos: Une version avec les noms courts générés automatiquement à partir des chemins normaux. Il y a toujours les 3 variables à mettre à jour: r$ (répertoire des sources), panedi$ (Panoramic_Editor.exe), panexe$ (Panoramic.exe): - Code:
-
LABEL Chp,Info DIM r$,fr$,i%,a$,c$,q$,panedi$,panexe$ r$ = "C:\PANORAMIC"+CHR$(92): ' Répertoire des sources Panoramic FileShort(r$): r$ = CLIPBOARD_STRING_PASTE$: ' nom court panedi$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC_EDITOR.exe" FileShort(panedi$): panedi$ = CLIPBOARD_STRING_PASTE$: ' nom court panexe$ = "C:\Program Files (x86)\Panoramic Editor\PANORAMIC.exe" FileShort(panexe$): panexe$ = CLIPBOARD_STRING_PASTE$: ' nom court fr$ = r$+"Debug_tmp.bas": ' Fichier source de manoeuvre (créé) q$ = CHR$(34) WIDTH 0,230: HEIGHT 0,SCREEN_Y-40 BORDER_SMALL 0: CAPTION 0, "- DEBUG -" ALPHA 8: TOP 8,2: FONT_SIZE 8,10: FONT_BOLD 8: CAPTION 8,"Clic le progr. à debugger " COLOR 8,255,255,128 BUTTON 9: WIDTH 9,30: LEFT 9,WIDTH(0)-50: HEIGHT 9,22: CAPTION 9,"?" FONT_BOLD 9: FONT_SIZE 9,10: ON_CLICK 9,Info CONTAINER_OPTION 10: TOP 10,21: WIDTH 10,WIDTH(0)-20: HEIGHT 10,30 CAPTION 10,"Exécuter dans:": COLOR 10,200,255,255 OPTION 11: PARENT 11,10: TOP 11,13: LEFT 11,3: CAPTION 11,"Panoramic_Editor" OPTION 12: PARENT 12,10: TOP 12,TOP(11): LEFT 12,115: CAPTION 12,"Panoramic.exe" MARK_ON 11 LIST 1: TOP 1,50: WIDTH 1,210: HEIGHT 1,HEIGHT(0)-90: FONT_NAME 1,"Consolas" ON_CLICK 1,Chp MEMO 2: HIDE 2 DLIST 4 DLIST 5 EXECUTE_WAIT "Cmd.exe /c DIR /B "+r$+"*.bas | clip" CLIPBOARD_PASTE 2 FOR i% = 1 TO COUNT(2): ITEM_ADD 1,ITEM_READ$(2,i%): NEXT i% END ' ============================================================================== Chp: FILE_LOAD 4,r$+ITEM_INDEX$(1) FOR i% = 1 TO COUNT(4) ITEM_ADD 5," Caption 0,"+q$+"Ligne: "+STR$(i%)+" *** debug ***"+q$ ITEM_ADD 5,ITEM_READ$(4,i%) NEXT i% FILE_SAVE 5,fr$ IF CHECKED(11) = 1 EXECUTE panedi$+" "+fr$: ' exécution dans Panoramic_Editor ELSE EXECUTE panexe$+" "+fr$: ' exécution dans Panoramic.exe END_IF TERMINATE ' ============================================================================== Info: c$ = CHR$(10) a$="Débogage d'un programme dont l'origine de l'erreur n'est pas localisée."+c$ a$=a$+" (méthode cosmos70)"+c$+c$ a$=a$+"Ce module intercale entre toutes les lignes du programme à tester une ligne"+c$ a$=a$+q$+"CAPTION 0 "+q$+" + n° de la ligne courante, et crée un nouveau fichier: Debug_tmp.bas"+c$ a$=a$+"(dont le nombre de lignes est donc le double de celui de l'original)"+c$+c$ a$=a$+"C'est ce nouveau fichier/programme qui sera exécuté, soit dans Panoramic_Editor,"+c$ a$=a$+"soit dans Panoramic.exe (choisi préalablement)."+c$+c$ a$=a$+"Usage:"+c$ a$=a$+"1) Choisir d'abord le programme d'exécution (Panoramic_Editor ou Panoramic.exe)"+c$ a$=a$+"2) Cliquer dans la liste des programmes le source (.bas) à tester."+c$+c$ a$=a$+"Quand le programme part en erreur, le numéro de la ligne où il s'est arrêté est"+c$ a$=a$+"affiché dans le caption du Form 0." MESSAGE a$ RETURN ' ============================================================================== SUB FileShort(f$) ' Chemin court fichier f$ -> clipboard EXECUTE_WAIT "cmd /c for %A in ("+CHR$(34)+f$+CHR$(34)+") do @echo %~sA | clip" CLIPBOARD_STRING_COPY LEFT$(CLIPBOARD_STRING_PASTE$, LEN(CLIPBOARD_STRING_PASTE$)-3) END_SUB ' ==============================================================================
Dernière édition par JL35 le Dim 20 Mar 2016 - 16:09, édité 1 fois | |
|
| |
Invité Invité
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 16:05 | |
| Merci JL35 J'ai compris pourquoi cela ne fonctionnait pas. Dans r$ il faut mettre un anti-slash à la fin, pour remplir le list. Mais peut-être est-il "bouffé" par le forum. Bien le programme fonctionne. |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 16:09 | |
| Tu as raison ! l'antislash a bien été bouffé par le forum, encore un coup ! Je vais essayer de le remettre... ou alors sous une autre forme... Un peu agaçant ce forum qui modifie ce qui est entre les balises 'code' | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 16:16 | |
| Le forum déteste ou au contraire, il aime trop l’anti-slash ( \ ) terminal au point de le bouffer. Il est prudent de faire : - Code:
-
r$ = "C:….\PANORAMIC" + chr$(92)
| |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 16:59 | |
| Tiens papydall, c'est justement ce que j'ai fait ! enfin, après coup... Tout de même, cet antislash est entre des balises code, et en plus entre des guillemets, alors je me demande bien ce qui fait que ça saute comme ça ! c'est n'importe quoi ! | |
|
| |
Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 17:35 | |
| La version instantanée V 0.9.27i6 est disponible au téléchargement.
Pour tout arrêt, du à une cause extérieure à Panoramic, une fenêtre s'affiche. Cette fenêtre indique : - le numéro de ligne qui était en cours d'exécution lors de cette erreur, - le libellé de l'erreur.
J'ai sorti rapidement cette version et il n'y a pas encore de lien avec l'editeur qui ne visualise pas la ligne en erreur comme c'est le cas lors d'une erreur détectée par Panoramic. Je vous demande de tester cette version, et de proposer d'éventuelles améliorations, car je n'ai pas pu tester tous les cas. Je pense que l'indication du numéro de ligne va faciliter la recherche d'erreur dans de grands programmes.
Accessoirement, cette version possède une nouvelle commande : SHOW_MODAL N qui permet de visualiser un FORM modal de numéro N. L'exécution d'un programme est suspendue pendant la visualisation d'une fenêtre modale. C'est une vieille demande sur le forum qui se concrétise. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 17:46 | |
| Merci Jack, je teste de suite... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 20 Mar 2016 - 17:47 | |
| Merci Jack. La fenêtre modal en bonus, là, c' est super ! | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Violation d'accès. Dim 20 Mar 2016 - 17:54 | |
| Merci Jack,
Si j'ai bien compris SHOW_MODAL N permet de remplacer Inactive 0 jusqu’à ce que l'utisateur click sur un bouton de sortie ou par la croix rouge. Donc un FORM modal c'est un FORM comme les autres, c'est SHOW_MODAL qui le change. Un peu comme BORDER_SMALL... Si c'est le cas ça tombe à pic pour mon code Stratégo.
Je télécharge et j'essai.
A+ | |
|
| |
Contenu sponsorisé
| Sujet: Re: Violation d'accès. | |
| |
|
| |
| Violation d'accès. | |
|