LeakDiag的使用和形成的LOG檔案的分析方法

2021-07-11 01:14:44 字數 964 閱讀 6602

leakdiag是微軟一款檢測memory leak的工具

安裝預設是在c:\leakdiag下,完成後介面如下:

寫如下的測試程式進行測試

#include

"stdafx.h"

#include

int_tmain(int

argc, _tchar* argv)

return 0;

}執行程式後(程式必須在除錯狀態下啟動,否則報錯),啟動leakdiag(必須在程式啟動後啟動

leakdiag

,leakdiag

不會實時重新整理,否則會找不到相應程式),找到對應的程式:

然後選擇windows heap allocator來跟蹤heap的使用,按start開始,等一會按log,然後再stop9 r! e* m: p g# w3 v3 ~7 |

會在c:\leakdiag\logs下面生成乙個log

開啟log,關鍵部分如下:

可以看到num = 6 的那行標註了記憶體洩露的源頭,在mem_test.cpp 中的第12行(生成檔案前,需要設定程式相應

pdb位置,

注意:pdb

路徑不能包含中文字元

另外還有個log分析工具ldparser,正在學習中

儲存器分段和位址的形成

從8086開始採用分段的方法管理儲存器。只有充分理解儲存器分段的概念和儲存器邏輯位址和實體地址的關係,才能熟練地使用8086 8088組合語言。儲存單元的位址是無符號數,n 位二進位制數總共能夠表示 2n 個儲存單元的位址。為了書寫方便,儲存單元位址常採用十六進製制數表示。當以字方式訪問字時,處理器...

Linux上Core Dump檔案的形成和分析

core,又稱之為 core dump檔案 是unix linux 作業系統的一種機制,對於線上服務而言,core令人聞之色變,因為出core的過程意味著服務暫時不能正常響應,需要恢復,並且隨著吐core程序的記憶體空間越大,此過程可能持續很長一段時間 例如當程序占用60g 以上記憶體時,完整cor...

Linux上Core Dump檔案的形成和分析

core,又稱之為core dump檔案,是unix linux作業系統的一種機制,對於線上服務而言,core令人聞之色變,因為出core的過程意味著服務暫時不能正常響應,需要恢復,並且隨著吐core程序的記憶體空間越大,此過程可能持續很長一段時間 例如當程序占用60g 以上記憶體時,完整core檔...