給大家介紹一款功能強大的內(nèi)存泄漏檢測工具,該軟件采用了微軟的Detours技術(shù),攔截指定內(nèi)存分配的調(diào)用并跟蹤各種調(diào)用棧,可以精確找到內(nèi)存泄露一直到代碼行我們甚至可以看見請求分配的代碼行。
軟件說明:
LeakDiag是一個監(jiān)測內(nèi)存泄漏的工具,可以用來精確地找到內(nèi)存泄露一直到代碼行。它使用微軟的Detours 技術(shù),攔截指定內(nèi)存分配的調(diào)用并跟蹤各種調(diào)用棧,并報告已分配但尚未釋放的內(nèi)存,這一信息允許讓我們在排除一個內(nèi)存泄露問題時,能精確查看哪些組件進行了該分配。使用正確的調(diào)試符號,我們甚至可以看見請求分配的代碼行。
使用C或者C++編程的時候,最擔(dān)心的應(yīng)該還是內(nèi)存泄漏問題。通常情況下檢測內(nèi)存泄漏的工具有很多,大致分為二種,一種是嵌入程序的,需要修改源碼;一種是attach到進程,實時監(jiān)測的。用戶在安裝時候需要注意:務(wù)必按照默認路徑安裝,否則可能出問題。
LeakDiag支持5種不同的分配:
1)虛擬分配。 這種分配可追蹤用VirtualAlloc/ VirtualAllocEx 等關(guān)于虛擬內(nèi)存分配的內(nèi)存。此時,選擇LeakDiag 上[Memory allocators] 選項的“Virtual Memory Allocator”來檢測。
2)堆分配。這種分配可追蹤NTDLL.DLL中如下函數(shù)分配的內(nèi)存。
3)線程局部存儲(Thread Local Storage,TLS指允許一個進程的多個線程存儲每個線程所獨有的數(shù)據(jù)的一種Win32 機制)分配。這種分配可追蹤MSDART32.DLL中如下函數(shù)分配的內(nèi)存。
4)COM分配(外部和內(nèi)部)。這種分配可追蹤OLE32.DLL,OLEAUT32.DLL 中如下函數(shù)分配的內(nèi)存。
5)C運行時分配。這種分配可追蹤MSVCRT.DLL中如下函數(shù)分配的內(nèi)存。
- PC官方版
- 安卓官方手機版
- IOS官方手機版