2009-02-17 70 views
1

我不知道如何調試以下錯誤調試「調試斷言失敗」:如何在VC++ 6

Debug Assertion failure 

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

Expression:_CrtIsValidHeapPointer(pUserData) 
... 

我很安靜新的Windows開發用VC++ 6 ...有一個Valgrind的或類似的東西? tomtoprog代碼不是由我寫的,它相當凌亂......所以像valgrind的東西會讓我的生活更輕鬆...

在此先感謝!

最好的問候,

Zhengtonic

回答

3

它看起來像你有堆腐敗,或者你正在做一個沒有相同的指針雙。如果闖入調試器,當斷言發生時,被調用的代碼的最後一行是什麼?

檢查類似這樣的問題,最好的方法是使用頁堆驗證像PageHeap.exe

也看到堆棧溢出此相關的問題

Heap corruption under Win32; how to locate?

2

點擊 '重試',它會中斷到調試器。這會給你的調用堆棧。從那裏,你可以找到你的代碼錯誤的部分。

提示:您可能刪除/釋放了兩次。