Stack overflow ??

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Stack overflow ??

Message par Backup »

Stack overflow ?? c'est quoi ce message d'erreur un debordement de pile ?


ça viens de quoi au juste ? 8O
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Quand un programme est chargé en mémoire, un espace est réservé pour la pile, qui sert à stocker les données temporaires, comme par exemple l'adresse de retour des procédures et les variables transmises en paramètre. Si tu utilises trop de variables ou d'appels de procédure sans jamais "revenir" (pour une procédure récursive par exemple), tu risques le stack overflow ou dépassement de pile.
Dernière modification par djes le mer. 14/sept./2005 18:20, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ben ça va pas etre coton a resoudre mon affaire ! :? :)
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Tu fais une procédure récursive?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

A la place de ta pile, prends une batterie


OK: Je sors.......
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

arf ! le problem viens de purebasic !!

dans mon programme puregolo ,
lorsque tu sauvegarde le listing (au format txt)
et que avant tu profite du requester pour effacer un autre fichier

ben au prochain chargement de listing (format txt) puregolo
tu run pour execution ; et boom plantage avec redemarrage de la machine !!! "stack overflow !!"

alors que ne n'utilise pas de procedure recursive ! 8O

que si tu charge 20 fois puis execution un fichiers puregolo pas de plantage
si tu charge et tu run puis tu sauve , autant de fois que tu veux , pas de plantage !


c'est juste le fait de profiter du requester de sauvegarde , pour faire autre chose que sauvegarder , par exemple effacer un fichier , avant de sauvegarder celui en cours , qui doit chambouler la pile !

parcequ'apres ça plant a l'execution de mon application !

je sais pas si j'ai ete clair ! :?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Si tu as été très clair : ton programme écrase une partie de la mémoire. Ca peut venir de toi (genre lecture/écriture de datas hors espace réservé, d'écriture dans un tableau hors indice, de lecture de fichiers dans un buffer trop petit, appel d'une fonction sans sa contrepartie, etc.), ou de purebasic qui ne restaure pas correctement la mémoire après appel d'une fonction.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

de lecture de fichiers dans un buffer trop petit,
peut etre ça car je charge a la volé les lignes de code (de text) dans mon editeur sans avoir preformaté celui-ci (d'ailleurs le faut t'il ? ) :?
Répondre