Problème d'assertion dans un rogramme sans assert...

nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 10 nov. 2005 à 21:43
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 11 nov. 2005 à 09:21
Bonjour ! J'ai fais un programme sous Visual C++ qui accède à une DLL
et qui lit la fonction. Jusque la, tout va bien : aucune erreur à la
compilation. Mais quand je lance le programme, en debug ou pas, il
m'ouvre un message d'erreur me disant



"Debug Assertion Failed :

Program : TEST.EXE

File : dbgheap.c

Line : 1076

Expression : _pFirstBlock == pHead



Abandon Réessayer Ignorer

"



Le problème, c'est que je n'ais dans mon projet aucun fichier
s'appelant dbgheap.c, ni aucune variable qui s'appelle _pFirstBlock ou
pHead, et je n'ai mis aucune assertion. Quelqu'un pourrais t-il me dire
d'ou viens cette erreur ?

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 nov. 2005 à 22:05
Quand tu fais un new ou un malloc, ca appelle plein d'autres fonction, certaines se trouvent dans dbgheap.c
Regarde dans la pile d'exécution, tu verra les fichiers de ton projet et à un moment c'est d'autres fichiers, que tu n'a pas écrit.
Ton erreur est sans doute une écriture dans une endroit invalide, ou bien une libération incorrecte
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
11 nov. 2005 à 08:30
Merci ! J'ai compris le problème : j'utilisait un char* comme une
chaine de caractères sans l'avoir allouée. Sinon, comment je suis sensé
faire pour regarder la pile d'execution ?
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
11 nov. 2005 à 09:14
Même en corrigeant le problème du pointeur non-alloué, ça ne marche toujours pas... Quelqu'un aurait une autre idée ?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 nov. 2005 à 09:21
En mode debug, tu dois avoir ca quelque part (pendant le débogage). Sous VS.net, c'est en bas à droite...
0
Rejoignez-nous