Bonjour,
Je travaille à l'évolution d'un projet, et pour cela j'ai du ajouter des données membres à une classe.
Depuis quelques temps j'observe un phénomène assez étrange.
En effet mon application plante lorsque je l'exécute en mode Debug (Buffer overflow), et fonctionne correctement en mode Release.
Aprèsplusieurs tests je me suis rendu compte que les plantages survenaient que lorsque j'ai ajouté une donnée membre (un objet) à une certaine classe. Pourtant le plantage survient où les classes que j'ai modifiées n'interviennet pas.
Comme il s'agissait de buffer overflow j'ai de suite pensé à de la récursivité, mais dans le code C++ je ne vois rien. Par contre en exécutant pas à pas le morceau de code incriminé, il passe dans de l'assembleur dont je n'ai pas la maitrise, mais je peux voir qu'il boucle.
Le plantage à lieux lors de l'appel d'une fonction (le programme tente de l'appeler semble-t'il, mais n'y rentre pas). Le buffer overflow survient dans le fichier chkstk.asm (fourni par Miscrosoft), à la ligne 91.
Mon projet est développé sous VS2003 (Microsoft Visual C++ .NET 69526-335-0000007-1806) avec des MFC.
Je précise aussi que je n'ai jamais fait de MFC avant, et que certaines précautions à prendre on pu m'échapper.
Avez vous déjà été confronté à ce problème?
Si oui, vous en êtes vous sortis, et comment?
Je vous remercie par avance de votre aide.
Partager