"Call Stack" trouvé pendant un débugage
Bonjour,
J'ai voulu raccourci un morceau de code qui ressemblait en gros a sa :
Code:
1 2 3 4 5
| if(c[63]==longchaine) { c[62]++; c[63]=0; }
if(c[62]==longchaine) { c[61]++; c[62]=0; }
...
if(c[2]==longchaine) { c[1]++; c[2]=0; }
if(c[1]==longchaine) { c[1] = 0; } |
(Je tiens a préciser qu'avec ce morceau de code ci-dessus mon programme fonctionne parfaitement)
Par ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| while(continuer2==0)
{
if(c[i]==longchaine)
{
c[i]=0;
c[i-1]++;
}
i--;
if(i==1)
{
if(c[1]==longchaine) { c[1] = 0; }
continuer2=1;
}
} |
(C'est donc ce morceau qui créer un bug, et pourtant...(voir la suite))
Cependant mon programme plante après un moment d'exécution. Je lance donc le Debug sur Code::Blocks et il me trouve un "Call Stack", je vous copie/colle le détail :
Citation:
#0 00401580 creation(nomchaine=0x22fdcd "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", longchaine=36) (C:\Chemin_vers_programme\main.cpp:52)
#1 00401D9B main() (C:\Chemin_vers_programme\main.cpp:216)
L'endroit de la ligne 52 (pour le 1er Call Stack) correspond a ce morceau de code qui est dans ma fonction "void creation(char *nomchaine, int long chaine)" :
Code:
1 2 3 4 5
| while(f6<=f5)
{
fputc(nomchaine[c[f6]], fichier);
f6++;
} |
L'endroit de la ligne 216 (pour le 2e Call Stack), dans le main, correspond a l'appel de ma fonction "creation".
Le bug ne provient donc pas du nouveau morceau de code, mais c'est a cause de lui que le bug apparaît...
Quelqu'un aurait une idée d'où peut venir le problème svp ?
Cordialement,