BREW記憶體除錯 BPOINT

2021-05-26 09:02:45 字數 1109 閱讀 1132

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