IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

stackOverflowException was unhandled


Sujet :

Dotnet

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 14
    Points
    14
    Par défaut stackOverflowException was unhandled
    Salut ,
    je suis en train de développer une application pour PDA.
    La compilation se passe bien , aucune erreur. mais quand je lance mon application , j'obtient l'erreur suivante : stackOverflowException was unhandled an unhandled exception of type system.stackoverflowexception occured in system.windows.forms.dll qui pointe vers un bout de code généré par VS2005 ( dans un fichier form.designer.cs).
    Je travaille avec C#.

    Merci

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Normallement cette exception est causée par une récursivité trop profonde.
    Pourrai tu montrer un extrait du code dans lequel il y a l'erreur ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Tu as une méthode récursive dans ton code (une méthode qui s'appelle elle-même) ? Si c'est possible il faut essayer de remplacer la récursivité par une boucle.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    ou de simplement mieux faire sa récursivité...
    la plupart du temps cette exception à lieu avec des récursivités soient trop profondes car le traitemnet est trop "gros" soit parce que la condition d'arret de la recursivité n'est pas bien définie et n'est jamais atteinte...

    Une autre raison moins évidente peut entrer en jeu, toujours avec de la récursivité... un problèeme récursif peut être implanté de mille et une façon... plus tu met de paramètres a ta fonction récursive... plus tu pollue la pile des appels qui contient le cadre de pile pour le passage des paramètres... donc il n'y a pas besoin d'une récursivité très profonde si tu manipule trop d'arguments à ta fonction, surtout si les arguments passés sont de types intégraux. (struct)

    Nota: il est possible d'avoir cette exception sans récursivité... mais si tel devait etre le cas... il n'y aurait pas de solution paliative, sous windows, a moins de revoir toute la conception du programme.
    Ceci ne changera pas temps que microsoft n'aura pas compris qu'une taille de pile figée à la compilation n'est pas une solution, et qu'ils n'aurons pas décidé d'abroger cette abération en revoyant leur copie en modifiant le format des exécutables. En gros... jamais à cause de la sacrosainte compatibilité et puis il faudrait maintenant attendre la prochaine version de l'OS.
    En gros l'exécutable alloue sa pile au meme titre qu'il alloue ses variables dans le segment de variable... c'est bien si on part d'une pile petite qui sert de point de base. Là dessus l'architecture unix est mieux élaborée.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    C'est agaçant quand les gens viennent pas voir les réponses à leurs questions... on a vraiment l'impression de parler (enfin, d'écrire...) dans le vide

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 18
    Points : 14
    Points
    14
    Par défaut Réglé
    Désolé pour ce retard, j'étais très occupé . Bon , j'ai pu réglé mon problème c'étais justement trop de variable qui traînait pendant tte l'application.
    J'ai pu m'en rendre compte.
    En tout cas, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dataServiceRequestException was unhandled
    Par marwa21 dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 07/05/2011, 00h56
  2. Réponses: 2
    Dernier message: 07/10/2009, 10h35
  3. NotSupportedException was Unhandled
    Par buxus dans le forum Linq
    Réponses: 3
    Dernier message: 20/08/2009, 10h45
  4. "Exception was unhandled" Erreur pas bien claire
    Par Just-Soft dans le forum C#
    Réponses: 2
    Dernier message: 17/03/2009, 14h32
  5. SecurityException was unhandled
    Par matrix_ceg dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/10/2007, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo