System.StackOverflowException

Résolu
Supopste Messages postés 69 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 6 mars 2008 - 24 août 2006 à 18:18
lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010 - 13 mai 2007 à 11:46
Bonjour,
 je suis confronté à un problème de System.StackOverflowException lorsque j'effectue un boucle.
Je suis sur que cette boucle n'est pas infini (j'ai un paramètre qui décroit à chaque boucle (je peux controler qui decroit bien
quand le debbuger affiche la pile d'appel). Je crois que windows croit que c'est une boucle infini...
Comment peut on forcer le processus à continuer quand même?
Merci

3 réponses

Supopste Messages postés 69 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 6 mars 2008
24 août 2006 à 18:44
Bon je crois que j'ai trouvé, en fait mon problème n'était pas une boucle mais une récurivité trop profonde qui remplissait la pile d'appel, j'ai juste remplacé par une vraie boucle et ça ne me fait plus l'erreur, par contre si quelqu'un a quelque chose à ajouter sur le remplissage de la pile je suis sur que ça interesserait pas mal de monde,
Merci
3
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 août 2006 à 20:25
La récursivité peut parfois être plus simple (moins de code) mais est relativement gourmande en terme de performance...

<hr size="2" />VC# forever
0
lassie14 Messages postés 45 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 3 mai 2010
13 mai 2007 à 11:46
ou alors il faut utilisez une recursivité terminale cela utilise beaucoup de moins de pile (plus rapide donc egalement)
0
Rejoignez-nous