Frage

Ich frage mich, wie die folgende Fehlermeldung zu debuggen:

Debug Assertion failure

Program: tomtoprog.exe
File: dbgheap.c
Line: 1044

Expression:_CrtIsValidHeapPointer(pUserData)
...

Ich bin ruhig neu Fenster Entwicklung mit VC ++ 6 ... gibt es eine valgrind oder so etwas? Der tomtoprog Code wird nicht von mir geschrieben und seinem ziemlich chaotisch ... so etwas wie valgrind würde mein Leben viel einfacher ...

machen

Vielen Dank im Voraus!

Mit freundlichen Grüßen,

Zhengtonic

War es hilfreich?

Lösung

Es sieht aus wie Sie entweder Heapbeschädigung haben oder Sie eine doppelte frei von der gleichen Zeiger zu tun. Wenn Sie den Debugger brechen in das, was die letzte Zeile des Codes ist, die aufgerufen wird, wenn die Assertion auftritt?

Der beste Weg für Fragen wie diese zu überprüfen, ist eine Seite Heap-Verifizierer wie verwenden Pageheap.exe

Siehe auch diese Frage im Zusammenhang auf Stack-Überlauf

Heap Korruption unter Win32; Wie zu finden?

Andere Tipps

Hit ‚Wiederholen‘, und es wird in den Debugger brechen. Das wird Ihnen den Call-Stack. Von dort können Sie den Teil des Codes finden, die an Schuld.

. Hinweis: Sie wahrscheinlich löschen / Frei ing etwas zweimal

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top