Bug dans soft VC++ / MFC "Debug Assertion Failed"

Résolu
spooky_faz Messages postés 1 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 9 novembre 2006 - 9 nov. 2006 à 00:18
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 9 nov. 2006 à 09:06
bonjour a tous,






voila, je dois travailler sur un soft coder en C++
(visual C++/MFC) et bien sur, il y a un bug... le probleme n'ai pas a la
compilation ni au build mais pendant l'exécution. le message d'erreur est le
suivant :








 




Debug Assertion Failed!






File: afxcoll.inl






Line: 356








 




et
pour compliqué le truc, c'est pas moi qui est fait le code et je suis loin
d'etre un expert en C++. donc est ce que quelqu'un aurait une idée pour résondre
mon probleme ?








 




quelques petites précisions :






le
probleme apparait a cause de la fonction CXYLinegraph mais le programme ne
plante pas dans cette fonction mais plus loin






en
mode debug, le bug intervient dans du code desassemblé donc pas évidant et
s'arrete sur la fonction "test eax,eax" dans une boucle "if (!AfxGetThread()
-> PumpMessage() )






dans la fenetre variable j'ai CWinThread::PumpMessage
returned = 1

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
9 nov. 2006 à 01:03
Probablement rien a voir avec le code asm MFC.
Une assertion vient de TON code, et peut etre plusieurs choses.
Mais surtout problème de pointeurs ! (non alloué, ect...)
Ou utilisation d'un code hors du contexte {}
Ou utilisation des fonctions string (index des tab hors limite)

Mais a vrai dire sans le code général, impossible de t'aider plus.
3
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
9 nov. 2006 à 09:06
Salut,
En mode Debug, regarde la fenêtre de pile des appels (call stack). Tu verras effectivement que le programme s'arrête dans du code assemblé mais il suffit de remonter la pile pour voir la ligne de code fautive.
Bon courage...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
3
Rejoignez-nous