[C] "Debug Error"

Résolu/Fermé
ssebounet Messages postés 162 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 22 octobre 2008 - 9 mai 2005 à 14:01
 coffee - 6 nov. 2007 à 17:32
Bonjour à tous!!
Lorsque je lance mon application développé en C, j'obtiens un jolie pop-up de microsoft me disant:

"
debug error
module:
file: i386\chkesp.c
Line: 42

The Value of ESP was not properly saved across a function cal. this is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
"

Quelqu'un saurait-il d ou peut venir cette erreur???
j'ai verifier tous mes malloc et mes free et normalement c est bon!
je ne comprend pas!!!

Merci d'avance pour toute aide!

Séb

4 réponses

ssebounet Messages postés 162 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 22 octobre 2008 6
9 mai 2005 à 14:53
Quelqu'un aurait il une idée???
je ne comprend pos du tout!!!!

Merci d'avance

Séb
0
The Value of ESP was not properly saved across a function cal. this is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

Waaaaahhoooooooooooooooooo !!!!!!!!!
Je te répond à une condition : tu fais un snapshot de l'écran (Shit+Impr Ecran) et tu le colle dans paint (ou tout autre méthode que tu préfère), MAIS tu me l'envoie !!!!!

Alors, je te traduit ce que je comprend, tu va voir poourquoi je veux cette copie d'écran.
DIS MOI AUSSI QUEL EST TON COMPILATEUR !!!

"The Value of ESP" La valeur 32bit de Stack Ponteur. Le "Pointeur de pile" était dénommé, sur les proces intel 16 bits, "SP", au passage 32 bits, tous les registres ont pris un "E" pour Extended. Bref, "La valeur qui permet de retrouver les argument passés à la fonction"

"was not properly saved across a function cal"
N'a pas été correctement sauvé lors de l'appel d'une fonction (CALL est une instruction assembleur, directement interprétée par le micro-proce)
Normalement, quand on appelle une fonction, on sauve ce pointeur en le mettant en pile (ce qui paradoxalement, modifie SP)
Mais tout ça, c'est pas du C, mais une cuisine de compilateur, c'est ça qui me parrait bizare...

this is usually a result of calling a function declared with one calling convention
Normalement dit-il "c'est le résultat d'un appel d'une fonction avec une convention d'appel différente".
C'est à dire : que doit sauvegarder la routine assembleur appellante, celle appellée... Mais tout ça c'est de la bidouille de compilo, ENCORE UNE FOIS pas du language C.
La suite dit la même chose.

N'essayerais tu pas de faire digérer un fichier déjà compilé (un .o ou .obj) à ton compilo ?
0
ssebounet Messages postés 162 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 22 octobre 2008 6
11 mai 2005 à 09:33
Salut
Merci d avoir repondu!
mais en fait j ai resolu le pbm...
donc pas de snapshot désolé!!
Mais sinon cela venait bien du C parcequ'en fait je pense que je devais ecraser une zone memoire ou etait ecrit cette indication . de ce fait il n'arrivait plus a retrouver l'origine!
enfin bon j ai code un peu plus propre! et c est partie!
tant mieux!!
merci encore pour ta reponse et bonne continuation!!

sinon pourquoi tu voulais le screenshot??

Séb
0
non mais excuse-moi SKZ, mais des posts de 30 lignes qui veulent absolument rien dire, je suis pas sûr que ce soit très utile... en plus cette erreur n'a rien d'incroyable et n'est pas liée au compilateur.
0