System.StackOverflowException [Résolu]

Signaler
Messages postés
69
Date d'inscription
dimanche 30 octobre 2005
Statut
Membre
Dernière intervention
6 mars 2008
-
Messages postés
45
Date d'inscription
dimanche 29 mai 2005
Statut
Membre
Dernière intervention
3 mai 2010
-
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

Messages postés
69
Date d'inscription
dimanche 30 octobre 2005
Statut
Membre
Dernière intervention
6 mars 2008

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
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
55
La récursivité peut parfois être plus simple (moins de code) mais est relativement gourmande en terme de performance...

<hr size="2" />VC# forever
Messages postés
45
Date d'inscription
dimanche 29 mai 2005
Statut
Membre
Dernière intervention
3 mai 2010

ou alors il faut utilisez une recursivité terminale cela utilise beaucoup de moins de pile (plus rapide donc egalement)