Come eseguire il debug di un “debug errore di asserzione” in VC ++ 6
-
05-09-2019 - |
Domanda
Mi chiedo come eseguire il debug il seguente errore:
Debug Assertion failure
Program: tomtoprog.exe
File: dbgheap.c
Line: 1044
Expression:_CrtIsValidHeapPointer(pUserData)
...
Sono tranquillo nuovo allo sviluppo di Windows con VC ++ 6 ... c'è un valgrind o qualcosa del genere? Il codice tomtoprog non è scritto da me e la sua piuttosto disordinato ... quindi qualcosa come valgrind avrebbe reso la mia vita più facile ... strada
Grazie in anticipo!
Con i migliori saluti,
Zhengtonic
Soluzione
Sembra che hai i danneggiamento di heap o si sta facendo un doppio libera lo stesso puntatore. Se si interrompe nel debugger qual è l'ultima riga del codice che viene chiamato quando si verifica l'asserzione?
Il modo migliore per verificare la presenza di problemi come questo è quello di utilizzare un verificatore pagina mucchio come Pageheap.exe
Si veda anche questa domanda relativa su stack overflow
Altri suggerimenti
Hit 'Riprova', e sarà passare al debugger. Che ti do lo stack di chiamate. Da lì, si può trovare la parte del codice che è in difetto.
Suggerimento:. Probabilmente stai eliminare / libero-ing qualcosa di due volte