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

Messages postés
3
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
30 mai 2012
- - Dernière réponse : 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.
Afficher la suite 

5 réponses

Messages postés
14590
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 novembre 2019
136
0
Merci
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
---
Commenter la réponse de NHenry
Messages postés
26
Date d'inscription
mardi 1 février 2011
Statut
Membre
Dernière intervention
2 mai 2013
0
Merci
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 ...
Commenter la réponse de fmounir
Messages postés
3
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
30 mai 2012
0
Merci
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 !
Commenter la réponse de smarter2000
Messages postés
26
Date d'inscription
mardi 1 février 2011
Statut
Membre
Dernière intervention
2 mai 2013
0
Merci
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
Commenter la réponse de fmounir
Messages postés
3
Date d'inscription
lundi 28 mai 2012
Statut
Membre
Dernière intervention
30 mai 2012
0
Merci
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 ?
Commenter la réponse de smarter2000