Un débordement de pile que veut dire exactement: une débordements de pile. Habituellement, il y a une pile dans le programme qui contient local-portée des variables et des adresses de retour lors de l'exécution d'une routine se termine. Cette pile a tendance à être un fixe plage de mémoire quelque part dans la mémoire, donc c'est limité à combien il peut contenir des valeurs.
Si la pile est vide, vous ne pouvez pas sauter, si vous le faites, vous aurez stack underflow erreur.
Si la pile est pleine, vous ne pouvez pas pousser, si vous le faites, vous aurez erreur de dépassement de pile.
Afin de débordement de pile apparaît à l'endroit où vous allouer trop dans la pile. Par exemple, dans le parlé de la récursivité.
Certaines implémentations d'optimiser certaines formes de récurrences. La queue de la récursivité en particulier. Queue de fonctions récursives sont en forme de routines d'où l'appel récursif apparaît comme une dernière chose à ce que fait la routine. Un tel appel de routine obtient simplement réduit à un saut.
Certaines implémentations aller aussi loin que de mettre en œuvre leurs propres piles pour la récursivité, par conséquent, ils permettent la récursivité à continuer jusqu'à ce que le système manque de mémoire.
Chose la plus facile que vous pourriez essayer serait d'augmenter la taille de votre tapis si vous le pouvez. Si vous ne pouvez pas le faire même si, la deuxième meilleure chose serait de regarder si il y a quelque chose qui provoque clairement le débordement de la pile. Essayez-le en quelque chose d'impression avant et après l'appel à la routine. Cela vous aide à trouver le défaut de la routine.