BREW記憶體除錯

2021-06-01 06:36:14 字數 662 閱讀 7476

在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...