Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Access Violation: coup de gueule. | |
| | Auteur | Message |
---|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation: coup de gueule. Mar 23 Déc 2014 - 17:41 | |
| Bonjour à tous.
J'en ai un peu par-dessus la tête des "Access Violation" qui ne me signale jamais la ligne où s'est produite l'erreur. Mon programme approchant maintenant les 35.000 lignes, il ne m'est plus possible de passer des heures à rechercher la source de l'erreur, sans connaître le véritable problème.
D'autant plus que les messages d'erreur s'affichent une fois sur deux, sans avoir apporté la moindre modification au programme.
Ce qui est rageant.
Jack, merci de voir s'il est possible d'indiquer au moins la ligne où l'erreur se produit !!
Je ne rencontre jamais ce type d'erreur avec PureBasic, PlayBasic, ni BlitzPlus !! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Access Violation: coup de gueule. Mar 23 Déc 2014 - 18:18 | |
| .... ça vient peut-être de KGF.dll ? Comment dire... un crash est par définition une anomalie non prévue. Difficile de prévoir le non-prévu - j'en sais quelque chose. Il faudrait délimiter le secteur en cause en réfléchissant sur les dernières modifications apportées à ton code, ou alors en mettant des messages de diagnostic dans le source. Je te suggère de définir une variable dim log_actions% avec un contenu de 0 par défaut. Et tu places des appels à la procedure suivante un peu partout: - Code:
-
if log_actions%=1 then MaTrace(" ici, un message décrivant la situation") ... sub MaTrace(txt$) if file_exists("MonProgramme_Trace.txt")=0 file_open_write 1,"MonProgramme_Trace.txt") file_writeln 1,"Créé le "+date$+" à "+time$+" heures" file_close 1 end_if file_open_append 1,"MonProgramme_Trace.txt" file_writeln 1,time$+": "+txt$ file_close 1 end_sub
Ainsi, en cas de problème, tu mets log_actions% à 1 et tu récupères la trace dans le fichier MonProgramme_Trace.txt. Tu sauras ainsi où le programme s'est planté. Tu peux faire évoluer cette procédure en lui ajoutant d'autres paramètres, comme le nom de la SUB ou du label du sous-programme dans lequel tu appelles cette procédure, etc. | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Access Violation: coup de gueule. Mar 23 Déc 2014 - 23:31 | |
| Merci Klaus pour cette procédure qui sent le vécu. je la garde en attendant d'en avoir besoin | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 11:26 | |
| Bonjour à tous.
Klaus, j'ai suivi ta procédure à la lettre.
Mais le problème persiste. Il semblerait que l'erreur 'access violation' passe outre les points de test. Elle n'est même pas reconnue par 'on_error goto'.
Sur un forum, j'ai trouvé cette information relative à un 'acess violation':
The error means that a program you’re trying to run is trying to access memory that is already used by a program that is already running.
Il semblerait donc que Panoramic utilise une adresse mémoire déjà utilisée par un autre programme en cours.
Mais de là à trouver le remède, trop fort pour moi.
Merci à tous de votre aide. | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 12:58 | |
| Je veux bien remédier à ces "Access Violation" et essayer d'afficher le numéro de ligne correspondant, mais il me faut pour cela un exemple simple (c'est à dire de quelques lignes) qui "plante". _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation. Jeu 25 Déc 2014 - 16:54 | |
| Bonjour. @Jack et aux autres panoramiciens. Je pense que la meilleure solution serait de télécharger mon logiciel à l'adresse suivante: http://www.toucharger.com/fiches/windows/euro-school-soutien-scolaire-gratuit/84242.htmEnsuite: Au lancement, cliquer sur le cube en rotation, de façon à atteindre la page des options. Puis, cliquer sur la 2è picture en haut, où est affiché "Français". C'est à ce moment-là qu'apparaît le message d'erreur 'Access Violation', mais pas systématiquement. De cette façon, je pourrai cerner plus précisément les lignes incriminées dans le code. Merci d'avance de votre aide. Si plusieurs panoramiciens pouvaient tester ce qui précède, cela m'aiderait beaucoup. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 18:40 | |
| Téléchargé et installé, sans problème. Au passage, mes félicitations pour le visuel qui est impeccable !
J'ai lancé une dizaine de fois la deuxième icône en haut à partir de la gauche (Langues). Et je ne constate aucun plantage. Y a-t-il quelque chose de plus précis à faire pour constater ce problème ?
Et si jamais je constate le problème, comment puis-je procéder à la recherche de la panne ? On n'a pas les sources... | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation. Jeu 25 Déc 2014 - 19:35 | |
| Bonsoir. Merci Klaus d'avoir bien voulu tester mon logiciel. Je constate avec bonheur que tu n'as rencontré aucun problème à l'exécution, ce qui m'encourage à poursuivre. Pourtant, le code suivant provoque un 'Access Violation'. Merci de tester de ton côté. Le problème semble venir de la commande '3d_delete_all'. - Code:
-
dim a, k%
label fin3D
caption 0,"Maxi-School, la réussite pour tous en langues."
width 0,1600 height 0,900
main_menu 30 creer_sous_menu(31,30,"fichier") creer_sous_menu(32,31,"suite") on_click 32,fin3D
scene3d 1 hide 1 full_space 1 on_click 1,fin3D
3d_cube 10,1 3d_load_texture 10,"images\clouds.bmp" 3d_x_scale 10,25 3d_y_scale 10,25 3d_z_position 10,-0.5
3d_cube 2,4 3d_load_texture 2,"images\monde1.jpg"
3d_text 3,"" 3d_z_position 3,2.05 3d_x_scale 3,0.75 3d_color 3,255,128,255 3d_chain 2,3
3d_cube 4,3.9 3d_y_rotate 4,90 3d_text 5,"la maison" 3d_z_position 5,2.05 3d_x_scale 5,0.75 3d_color 5,255,128,255 3d_chain 4,5
3d_cube 6,3.9 3d_y_rotate 6,180
3d_text 7,"" 3d_z_position 7,2.05 3d_x_scale 7,0.75 3d_color 7,255,128,255 3d_chain 6,7
3d_cube 8,3.9 3d_y_rotate 8,270
3d_text 9,"la casa" 3d_z_position 9,2.05 3d_x_scale 9,0.75 3d_color 9,255,128,255 3d_chain 8,9
for k%=11 to 15 3d_box k%,0.5,0.5,0.01 3d_load_texture k%,"images"+trim$(mid$("allemagne espagne italien anglais pologne ",(k%-10)*10-9,9))+".bmp" 3d_position k%,-2+k%-11,-4,0 next k%
show 1
for a=360 to 90 step -1 3d_y_rotate 2,a 3d_y_rotate 4,a+90 3d_y_rotate 6,a+180 3d_y_rotate 8,a+270 wait 10 next a
end
fin3D: 3d_chain_break 2,3 3d_chain_break 4,5 3d_chain_break 6,7 3d_chain_break 8,9 3d_delete_all ' for k%=15 to 2 step -1 ' 3d_delete k% ' next k% terminate return
sub creer_sous_menu(no%,parent%,label$) sub_menu no% parent no%,parent% caption no%,label$ end_sub | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 20:01 | |
| Voici le code légèrement modifié. Il manquait un "\" - j'ai documenté l'ajout par un commentaire. Et j'ai tracé l'évènement fin3D. Constat: le plantage a lieu dans la commande 3D_DELETE_ALL. J'ai marqué cette ligne également par un commentaire: - Code:
-
dim a, k%
label fin3D
caption 0,"Maxi-School, la réussite pour tous en langues."
width 0,1600 height 0,900
main_menu 30 creer_sous_menu(31,30,"fichier") creer_sous_menu(32,31,"suite") on_click 32,fin3D
scene3d 1 hide 1 full_space 1 on_click 1,fin3D
3d_cube 10,1 3d_load_texture 10,"images\clouds.bmp" 3d_x_scale 10,25 3d_y_scale 10,25 3d_z_position 10,-0.5
3d_cube 2,4 3d_load_texture 2,"images\monde1.jpg"
3d_text 3,"" 3d_z_position 3,2.05 3d_x_scale 3,0.75 3d_color 3,255,128,255 3d_chain 2,3
3d_cube 4,3.9 3d_y_rotate 4,90
3d_text 5,"la maison" 3d_z_position 5,2.05 3d_x_scale 5,0.75 3d_color 5,255,128,255 3d_chain 4,5
3d_cube 6,3.9 3d_y_rotate 6,180
3d_text 7,"" 3d_z_position 7,2.05 3d_x_scale 7,0.75 3d_color 7,255,128,255 3d_chain 6,7
3d_cube 8,3.9 3d_y_rotate 8,270
3d_text 9,"la casa" 3d_z_position 9,2.05 3d_x_scale 9,0.75 3d_color 9,255,128,255 3d_chain 8,9
for k%=11 to 15 3d_box k%,0.5,0.5,0.01 ' 3d_load_texture k%,"images"+trim$(mid$("allemagne espagne italien anglais pologne ",(k%-10)*10-9,9))+".bmp" ' Klaus: le "\" manquait: 3d_load_texture k%,"images\"+trim$(mid$("allemagne espagne italien anglais pologne ",(k%-10)*10-9,9))+".bmp" 3d_position k%,-2+k%-11,-4,0 next k%
show 1
for a=360 to 90 step -1 3d_y_rotate 2,a 3d_y_rotate 4,a+90 3d_y_rotate 6,a+180 3d_y_rotate 8,a+270 wait 10 next a
end
fin3D: message "a1" 3d_chain_break 2,3 message "a2" 3d_chain_break 4,5 message "a3" 3d_chain_break 6,7 message "a4" 3d_chain_break 8,9 message "a5" 3d_delete_all : ' <========== crash ici ! message "a6" ' for k%=15 to 2 step -1 ' 3d_delete k% ' next k% terminate return
sub creer_sous_menu(no%,parent%,label$) sub_menu no% parent no%,parent% caption no%,label$ end_sub Comme tout est en Panoramic pur, dans DLL, je pense que Jack pourra trouver cette anomalie. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation. Jeu 25 Déc 2014 - 20:06 | |
| Bonsoir.
Merci Klaus.
Je pensais également la même chose que toi.
La commande '3d_delete_all' pose problème.
La commande 'delete 1', si l'objet 1 est un scene3D, provoque un 'access violation', enfin je pense que le problème vient de là.
A Jack de voir pour corriger le problème.
Dernière édition par Pedro Alvarez le Jeu 25 Déc 2014 - 20:54, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 20:49 | |
| Oui, et je précise que l'essai a été fait avec la version V0.3.26i3. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Access Violation. Jeu 25 Déc 2014 - 21:04 | |
| Bonsoir. Je viens de trouver un début de réponse à l'erreur 'access violation'. Lorsque des objets 3D sont chaînés par '3d_chain', le fait d'utiliser '3d_delete_all' après avoir enlevé les chaînages par '3d_chain_break', provoque un 'access_violation'. Par contre, si on ne chaîne pas les objets, la commande '3d_delete_all' fonctionne parfaitement. Merci Klaus de me confirmer, stp. - Code:
-
dim a, k%
label fin3D
caption 0,"Maxi-School, la réussite pour tous en langues."
width 0,1600 height 0,900
main_menu 30 creer_sous_menu(31,30,"fichier") creer_sous_menu(32,31,"suite") on_click 32,fin3D
scene3d 1 hide 1 full_space 1 on_click 1,fin3D
3d_cube 10,1 3d_load_texture 10,"images\clouds.bmp" 3d_x_scale 10,25 3d_y_scale 10,25 3d_z_position 10,-0.5
3d_cube 2,4 3d_load_texture 2,"images\monde1.jpg"
3d_text 3,"" 3d_z_position 3,2.05 3d_x_scale 3,0.75 3d_color 3,255,128,255 ' 3d_chain 2,3
3d_cube 4,3.9 3d_y_rotate 4,90 3d_text 5,"la maison" 3d_z_position 5,2.05 3d_x_scale 5,0.75 3d_color 5,255,128,255 ' 3d_chain 4,5
3d_cube 6,3.9 3d_y_rotate 6,180
3d_text 7,"" 3d_z_position 7,2.05 3d_x_scale 7,0.75 3d_color 7,255,128,255 ' 3d_chain 6,7
3d_cube 8,3.9 3d_y_rotate 8,270
3d_text 9,"la casa" 3d_z_position 9,2.05 3d_x_scale 9,0.75 3d_color 9,255,128,255 ' 3d_chain 8,9
for k%=11 to 15 3d_box k%,0.5,0.5,0.01 3d_load_texture k%,"images\"+trim$(mid$("allemagne espagne italien anglais pologne ",(k%-10)*10-9,9))+".bmp" 3d_position k%,-2+k%-11,-4,0 next k%
show 1
for a=360 to 90 step -1 3d_y_rotate 2,a 3d_y_rotate 4,a+90 3d_y_rotate 6,a+180 3d_y_rotate 8,a+270 wait 10 next a
end
fin3D: ' 3d_chain_break 2,3 ' 3d_chain_break 4,5 ' 3d_chain_break 6,7 ' 3d_chain_break 8,9 3d_delete_all ' for k%=15 to 2 step -1 ' 3d_delete k% ' next k% terminate return
sub creer_sous_menu(no%,parent%,label$) sub_menu no% parent no%,parent% caption no%,label$ end_sub | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Access Violation: coup de gueule. Jeu 25 Déc 2014 - 23:59 | |
| Mis à part le problème des espaces qui disparaissent malheureusement des codes publiés sur le forum, je confirme: Cette version du programme ne produit pas de plantage. Voici le code que j'utilise (à cause des espaces dans la ligne 64): - Code:
-
dim a, k%
label fin3D
caption 0,"Maxi-School, la réussite pour tous en langues."
width 0,1600 height 0,900
main_menu 30 creer_sous_menu(31,30,"fichier") creer_sous_menu(32,31,"suite") on_click 32,fin3D
scene3d 1 hide 1 full_space 1 on_click 1,fin3D
3d_cube 10,1 3d_load_texture 10,"images\clouds.bmp" 3d_x_scale 10,25 3d_y_scale 10,25 3d_z_position 10,-0.5
3d_cube 2,4 3d_load_texture 2,"images\monde1.jpg"
3d_text 3,"" 3d_z_position 3,2.05 3d_x_scale 3,0.75 3d_color 3,255,128,255 ' 3d_chain 2,3
3d_cube 4,3.9 3d_y_rotate 4,90
3d_text 5,"la maison" 3d_z_position 5,2.05 3d_x_scale 5,0.75 3d_color 5,255,128,255 ' 3d_chain 4,5
3d_cube 6,3.9 3d_y_rotate 6,180
3d_text 7,"" 3d_z_position 7,2.05 3d_x_scale 7,0.75 3d_color 7,255,128,255 ' 3d_chain 6,7
3d_cube 8,3.9 3d_y_rotate 8,270
3d_text 9,"la casa" 3d_z_position 9,2.05 3d_x_scale 9,0.75 3d_color 9,255,128,255 ' 3d_chain 8,9
for k%=11 to 15 3d_box k%,0.5,0.5,0.01 3d_load_texture k%,"images\"+trim$(mid$("allemagneespagne italien anglais pologne ",(k%-11)*9+1,9))+".bmp" 3d_position k%,-2+k%-11,-4,0 next k%
show 1
for a=360 to 90 step -1 3d_y_rotate 2,a 3d_y_rotate 4,a+90 3d_y_rotate 6,a+180 3d_y_rotate 8,a+270 wait 10 next a
end
fin3D: ' 3d_chain_break 2,3 ' 3d_chain_break 4,5 ' 3d_chain_break 6,7 ' 3d_chain_break 8,9 3d_delete_all ' for k%=15 to 2 step -1 ' 3d_delete k% ' next k% terminate return
sub creer_sous_menu(no%,parent%,label$) sub_menu no% parent no%,parent% caption no%,label$ end_sub Donc, je pense que tu as bien cerné le problème, Pedro. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Access Violation: coup de gueule. Ven 26 Déc 2014 - 0:23 | |
| @Jack Voici le plus court code qui provoque un Access violation - Code:
-
DIM a,,b Encore plus court - Code:
-
DIM a,, Par contre avec ce code, il n'y a pas de violation - Code:
-
DIM a, | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Access Violation: coup de gueule. Ven 26 Déc 2014 - 8:45 | |
| bonjour a tous je viens de tester sur mon EEPC sous XP est malgré l'utilisation de la méthode papydall spécial plantage... rien tout marche très bien @ Pedro pour la 3D il faut rester très prudent car j'ai remarqué plusieurs anomalies. A mon niveau rien de grave car je n'ai pas d'impératifs, mais ton programme est vraiment impressionnant. Dommage que ma méthode de cube ne te convienne pas car elle est très stable. Je vois que tu es en de bonnes mains, tout vas s'arranger . | |
| | | Contenu sponsorisé
| Sujet: Re: Access Violation: coup de gueule. | |
| |
| | | | Access Violation: coup de gueule. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |