Comment déboguer un « échec d'assertion de débogage » dans VC ++ 6
-
05-09-2019 - |
Question
Je me demande comment déboguer l'erreur suivante:
Debug Assertion failure
Program: tomtoprog.exe
File: dbgheap.c
Line: 1044
Expression:_CrtIsValidHeapPointer(pUserData)
...
Je suis calme nouveau pour le développement de fenêtres avec VC ++ 6 ... est-il un valgrind ou quelque chose comme ça? Le code tomtoprog est pas écrit par moi et ce plutôt en désordre ... donc quelque chose comme valgrind rendrait ma vie plus simple ...
Merci d'avance!
Cordialement,
Zhengtonic
La solution
Il semble que vous avez soit la corruption du tas ou que vous faites un double libre du même pointeur. Si vous cassez dans le débogueur ce qui est la dernière ligne de votre code qui est appelé lorsque l'assertion se produit?
La meilleure façon de vérifier les problèmes comme celui-ci est d'utiliser un vérificateur de tas de pages comme Pageheap.exe
Voir aussi cette question connexe sur le débordement de la pile
Autres conseils
Hit « Retry », et ça va briser dans le débogueur. Cela vous donnera la pile d'appels. A partir de là, vous pouvez trouver la partie de votre code qui est en faute.
Astuce:. Vous supprimez / sans-ing probablement quelque chose deux fois