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

È stato utile?

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

Mucchio corruzione sotto Win32; come individuare?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top