記憶體洩漏測試小工具 LeakDiag

2021-05-21 21:26:01 字數 1123 閱讀 5672

leakdiag是乙個監測記憶體洩漏的工具,可以用來精確地找到記憶體洩露一直到**行。它使用微軟的detours 技術,攔截指定記憶體分配的呼叫並跟蹤各種呼叫棧,並報告已分配但尚未釋放的記憶體,這一資訊允許讓我們在排除乙個記憶體洩露問題時,能精確檢視哪些元件進行了該分配。使用正確的除錯符號,我們甚至可以看見請求分配的**行。

關於detours: http://research.microsoft.com/en-us/projects/detours/

leakdiag 目前支援六種型別的洩漏檢查:

virtual allocator

heap allocator

mpheap allocator

com allocatorcotaskmem

com private allocator

c runtime allocator

版本:1.25

或者:http://d.download.csdn.net/down/1168689/cloveroger

使用方法:

1、編寫乙個包含記憶體洩漏問題的c程式,例如leakdiagtest1:

#include

int main(int argc, char* argv)

char *p = null;

while (getc(stdin))

p = (char *)malloc(1024);

//delete(p);

return 0;

2、執行c程式的可執行檔案leakdiagtest1.exe,開啟leakdiag

在程序列表中選擇leakdiagtest1.exe

在memory allocators列表中選擇「windows heap allocator」

按start開始進行監測

3、在leakdiagtest1執行過程中,可多次按log進行記憶體資訊收集(「快照」),最後按stop停止監測

4、開啟logs目錄中的日誌檔案進行分析,可發現有記憶體洩漏現象:

5、用ldgrapher可以圖形的方式更加直觀地看到多個快照點連續的記憶體洩漏情況

記憶體洩漏測試小工具 LeakDiag

leakdiag 是乙個監測記憶體洩漏的工具,可以用來精確地找到記憶體洩露一直到 行。它使用微軟的 detours 技術,攔截指定記憶體分配的呼叫並跟蹤各種呼叫棧,並報告已分配但尚未釋放的記憶體,這一資訊允許讓我們在排除乙個記憶體洩露問題時,能精確檢視哪些元件進行了該分配。使用正確的除錯符號,我們甚...

記憶體洩漏測試小工具 LeakDiag

leakdiag是乙個監測記憶體洩漏的工具,可以用來精確地找到記憶體洩露一直到 行。它使用微軟的detours 技術,攔截指定記憶體分配的呼叫並跟蹤各種呼叫棧,並報告已分配但尚未釋放的記憶體,這一資訊允許讓我們在排除乙個記憶體洩露問題時,能精確檢視哪些元件進行了該分配。使用正確的除錯符號,我們甚至可...

測試flash之小工具

include include include include include include include include define nvs ap ver 20110718 define read nvs wisnvs 0x0000 define read nvs uboot version...