在
vc上除錯
brew
應用時,
debug
視窗提示很多如【
1】和【
2】資訊:【1
】【2】
*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 2: brew
介面記憶體洩露。這種錯誤在
退出的時候會提示。
type 3:
記憶體corruption
,通常就意味著寫了不該寫的地方,或者釋放了不該釋放的地方。
type 4: brew
異常。對於1和
2稍微容易除錯一些。
type1
:可以加一些記憶體除錯**,記錄所有分配和釋放的位址,找出錯誤。很多軟體在設計時,都預留了記憶體除錯介面。如果沒有,自己寫唄。
type2
:應用中用的
if是很有限的吧,好好檢查下,努力點,就沒問題了
type3
:這類問題比較難除錯,有時候可以通過設定記憶體斷點來跟蹤到錯誤的地方。在
vc中設定記憶體斷點
,斷點停時,檢視操作該位址的地方是否有誤,該位址是否為義分配記憶體。但大多時候,由於出錯的位址(提示的位址)可能操作的很多,比如記憶體分配比較頻繁,該記憶體區可能被重複分配釋放,除錯起來就比較困難了。這時候就需要有耐心了,多打除錯資訊,縮小出錯的**範圍,然後仔細檢查**。
csdn
BREW記憶體除錯
在vc上除錯brew應用時,debug視窗提示很多如和資訊 aeeheap.c 1167 表示檔案aeeheap.c的第1167行輸出的這個資訊 100 表示記憶體 存塊的大小 e dialereditform.c 346 l 表示記憶體洩漏所在檔案和行號 oemos.c 679 表示檔案oemos...
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...