Cómo depurar un “error de aserción de depuración” en VC ++ 6
-
05-09-2019 - |
Pregunta
Me pregunto cómo depurar el error siguiente:
Debug Assertion failure
Program: tomtoprog.exe
File: dbgheap.c
Line: 1044
Expression:_CrtIsValidHeapPointer(pUserData)
...
Estoy tranquila nuevo en el desarrollo de Windows con VC ++ 6 ... ¿hay un valgrind o algo por el estilo? El código tomtoprog no está escrito por mí y es bastante complicado ... así que algo como valgrind haría mi vida más fácil manera ...
Gracias de antemano!
Saludos,
Zhengtonic
Solución
Parece que o bien tienen daños en la pila o que está haciendo un doble libre del mismo puntero. Si se rompe en el depurador lo que es la última línea de su código que se llama cuando se produce la aserción?
La mejor manera de comprobar si existen problemas de este tipo es el uso de un verificador de pila de página como Pageheap.exe
También vea esta pregunta relacionada sobre desbordamiento de pila
Otros consejos
Hit 'reintento', y va a interrumpir el depurador. Eso te dará la pila de llamadas. A partir de ahí, se puede encontrar la parte del código que tiene la culpa.
Consejo:. Es probable que elimine / free-ing algo dos veces