[VB.NET]Problème "L'exception System.StackOverflowException"

smarter2000 Messages postés 3 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 30 mai 2012 - 28 mai 2012 à 22:58
smarter2000 Messages postés 3 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 30 mai 2012 - 30 mai 2012 à 14:13
Donc voici mon problème :

L'exception System.StackOverflowException n'a pas été gérée
Message: Une exception non gérée du type 'System.StackOverflowException' s'est produite dans Module inconnu.

Même en mode debug, je n'arrive pas à détecter l'erreur (Module inconnu > c'est aussi afficher dans le message d'erreur en dessus).

Mon 'common language runtime' exceptions est en état levé donc il est activé.

Je précise que c'est un émulateur, il y a plusieurs fichiers vb.net, je ne pourrai trouver l'erreur à la main, et elle apparait (l'erreur) toujours quand l'émulateur arrive approximativement à 4h 50minutes d'uptime (le temps qu'a passé l'émulateur active).

[ça ne kill pas le process, mais ça le plante, et la console de l'émulateur reste ouverte mais sans aucune activité.]

Je cherche une personne pouvant m'aider à résoudre se problème au plus vite, c'est très urgent.

Cordialement.
A voir également:

5 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 mai 2012 à 23:18
Bonjour,

Ce problème est souvent levé lors de l'appel récursif à des fonctions sans condition de fin.

Genre :
Public void MaSub()
{
    //...
    MaSub();
    //..
}


Après, c'est peut être plus subtil pour ton cas.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0
fmounir Messages postés 26 Date d'inscription mardi 1 février 2011 Statut Membre Dernière intervention 2 mai 2013
29 mai 2012 à 09:44
Bonjour,
C'est que t'as un débordement de la pile d'appelle, certainement au niveau d'un delegate, je t’explique ce qui arrive, tout simplement dans un traitement particulier tu rempli la pile beaucoup plus vite que le temps d’écrasement des données, j'ai le même problème sur des tests automatique, pour l'instant la seul solution que j'ai trouvé c'est de mettre un petit délai d'attente ...
0
smarter2000 Messages postés 3 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 30 mai 2012
29 mai 2012 à 15:43
Un ami m'a dit ou se trouve le stackoverflowexception, mais le fichier fais au total 81Ko, je cherche une personne capable de le trouver l'erreur et de la corriger, je paye !
0
fmounir Messages postés 26 Date d'inscription mardi 1 février 2011 Statut Membre Dernière intervention 2 mai 2013
30 mai 2012 à 08:59
Si je peux t'aider, pas besoin de payer. D'après ce que je sache, elle sont gratuite les informations sur ce forum . Vous dites que vous connaissez le fichier qui fait 81 ko, c'est quoi comme type de fichier ? binaire, txt ...?? mais de toute façon je pense pas que ça pourra t'aider vu que ton processus qui, lors de l'écriture dans une pile, écrit à l'extérieur de l'espace alloué à la pile, écrasant ainsi des informations qui lui sont nécessaires, du coup, si on écrase le fichier, on aura le même problème. Donc la solution qui me parait logique c'est d'augmenter la capacité de cette pile en attendant de trouver ce qui cause son débordement .
Pour cela t'as deux possibilités, de manière facile :

using System.Threading;
...
Thread T = new Thread (threadDelegate, stackSizeInBytes);
T.start ();
Avantages:
Très facile
Peut dynamiquement Spécifiez Taille du filetage lors de la création
Inconvénients:
Seulement disponible en. NET 2.0 et au-dessus
Paramètre taille de la pile ignorés dans les systèmes d'exploitation pré-XP , j'espère que t'as pas WIN98
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
smarter2000 Messages postés 3 Date d'inscription lundi 28 mai 2012 Statut Membre Dernière intervention 30 mai 2012
30 mai 2012 à 14:13
J'ai mis un 'Imports System.Threading' mais je pense que ça n'a pas d'effet, je n'ai pas fais d'erreur non ?
0
Rejoignez-nous