0
堆棧跟蹤在WinDbg中後應用程序崩潰崩潰點如下:VC++ 6.0 - WinDbg的堆棧跟蹤顯示在malloc的
ntdll+0x11766
msvcrt!free+0x1ae
msvcrt!free+0x1cc
msvcrt!malloc+0x27
mfc42!Ordinal823+0x2f
請讓我知道這是什麼有序手段,爲什麼免費調用兩次?
堆棧跟蹤在WinDbg中後應用程序崩潰崩潰點如下:VC++ 6.0 - WinDbg的堆棧跟蹤顯示在malloc的
ntdll+0x11766
msvcrt!free+0x1ae
msvcrt!free+0x1cc
msvcrt!malloc+0x27
mfc42!Ordinal823+0x2f
請讓我知道這是什麼有序手段,爲什麼免費調用兩次?
當崩潰在malloc或free中時,原因很可能是堆損壞。 腐敗的原因可能發生在與當前堆棧無關的代碼中。 要驗證是否堆損壞,使用
!heap –s –v
您需要的符號對於這一點,提前使用
.symfix
你可能不自由可言,由於缺乏符號棧顯示爲 ,偏移量爲最接近的出口,因此偏移量很大(免費+ 0x1cc) 檢查.symfix之後的堆棧並享受!
要找出內存損壞的根本原因,可以使用不同的方法,但是如果可能的話,整頁堆是一個很好的方法。
請顯示一些代碼或沒有人可以幫忙。 – ksming 2011-12-14 09:43:39