在vc上除錯brew應用時,debug視窗提示很多如和資訊:
*aeeheap.c:1167——表示檔案aeeheap.c的第1167行輸出的這個資訊
100——表示記憶體****存塊的大小
e:\...\dialereditform.c:346 (l)——表示記憶體洩漏所在檔案和行號
*oemos.c:679——表示檔案oemos.c的第679行輸出的這個資訊
bpoint type 1——表示記憶體洩漏
bpoint 斷點
brew定義了四種錯誤型別:
type 1: 記憶體洩露問題,就是用malloc分配的記憶體沒有釋放了。
type 3: 記憶體corruption,通常就意味著寫了不該寫的地方,或者釋放了不該釋放的地方。
type 4: brew異常。
對於1和2稍微容易除錯一些。
type2:應用中用的if是很有限的吧,好好檢查下,努力點,就沒問題了
type3:這類問題比較難除錯,有時候可以通過設定記憶體斷點來跟蹤到錯誤的地方。在vc中設定記憶體斷點,斷點停時,檢視操作該位址的地方是否有誤,該位址是否為義分配記憶體。但大多時候,由於出錯的位址(提示的位址)可能操作的很多,比如記憶體分配比較頻繁,該記憶體區可能被重複分配釋放,除錯起來就比較困難了。這時候就需要有耐心了,多打除錯資訊,縮小出錯的**範圍,然後仔細檢查**。
BREW記憶體除錯 BPOINT
在 vc上除錯 brew 應用時,debug 視窗提示很多如 1 和 2 資訊 1 2 aeeheap.c 1167 表示檔案 aeeheap.c 的第1167 行輸出的這個資訊 100 表示記憶體 存塊的大小 表示記憶體洩漏所在 e dialereditform.c 346 l 表示記憶體洩漏所在...
BREW程式記憶體洩露定位
由malloc分配的記憶體,如果退出程式時沒有釋放,會在output視窗heap info資訊裡顯示這塊記憶體是在哪個檔案,哪一行分配的。brew的malloc是這樣定義的 define malloc size get helper dbgheapmark get helper malloc siz...
BREW程式記憶體洩露定位
由malloc分配的記憶體,如果退出程式時沒有釋放,會在output視窗heap info資訊裡顯示這塊記憶體是在哪個檔案,哪一行分配的。brew的malloc是這樣定義的 define malloc size get helper dbgheapmark get helper malloc siz...