Erreur stack overflow

Résolu/Fermé
shaunbaker Messages postés 9 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 26 septembre 2009 - 28 nov. 2008 à 20:57
 Johann74270 - 27 janv. 2011 à 18:16
Bonjour, j'ai commencé a apprendre à programmer il n'y a pas bien longtemps et faisant un programme plus long que d'habitude je rencontre une erreur ans le debug:exception non gérée :Stack Overflow????????????Qu'est-ce que cela veut dire????c'est ca une fuite de memoire??Comment peut on régler le probleme????????Merci de votre aide

3 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
28 nov. 2008 à 21:39
Bonsoir,
Le stack overflow, c'est un débordement de pile. La pile est la structure qui contient les données de tes programmes (types primitifs ou objets alloués non dynamiquement, adresses de retour des fonctions...), et est contenue dans la mémoire vive (RAM), en même temps que d'autres structures (tas, espace réservé par ton système...).

Cette pile augmente donc quand tu utilises une nouvelle variable, ou quand tu fais appel à une fonction.
Inversement, quand ta fonction retourne (ou que ta variable n'est plus utilisée et que ton compilateur est assez intelligent pour le savoir et détruire cette variable), ta pile diminue.

Ici ta pile est trop grande : elle a débordé sur l'espace mémoire qui ne lui appartenait pas.

En règle générale, avec la mémoire que possèdent les ordinateurs de nos jours, si tu as ce problème, c'est que tu as un bug dans ton programme (boucle infinie ou appel récursif infini).
Cependant, si ton application est vraiment complexe et que tu as besoin de millions de variables, il est possible que ce soit tout à fait normal, et qu'il faille simplement que tu achètes une nouvelle barrette (mais personnellement, je penche plutôt pour la première solution ;)).

Cordialement,
1
shaunbaker Messages postés 9 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 26 septembre 2009
28 nov. 2008 à 21:49
Merci beaucoup pour ces précision en effet je penche aussi pour une récursivité infinie car mal exprimée.Merci beaucoup a vous
0
Bonjour, moi je fais un programme qui a besoin des boucles très long et dois revenir continuelement sur les fonctions pour fonctionner mais cependant j'ai le même problème que shaunbaker : Stack Overflow,
Comment Optimiser Ses Zones Memoires De La Ram
0