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
下载地址:
ftp://ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/LeakDiag/
或者:
http://d.download.csdn.net/down/1168689/cloveroger
使用方法:
1、编写一个包含内存泄漏问题的C程序,例如LeakDiagTest1:
#include <stdlib.h>
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目录中的日志文件进行分析,可发现有内存泄漏现象:
<FRAME num="0" dll="LeakDiagTest1.exe" function ="_heap_alloc_base" offset="0x55" filename="malloc.c" line="161" addr="0x4035F5" />
<FRAME num="1" dll="LeakDiagTest1.exe" function ="_heap_alloc_dbg" offset="0x1A2" filename="dbgheap.c" line="367" addr="0x401352" />
<FRAME num="2" dll="LeakDiagTest1.exe" function ="_nh_malloc_dbg" offset="0x19" filename="dbgheap.c" line="242" addr="0x401159" />
<FRAME num="3" dll="LeakDiagTest1.exe" function ="malloc" offset="0x18" filename="dbgheap.c" line="130" addr="0x4010E8" />
<FRAME num="4" dll="LeakDiagTest1.exe" function ="main" offset="0x76" filename="E:/tmp/LeakDiagTest1/LeakDiagTest1.cpp" line="13" addr="0x401086" />
5、用LDGrapher可以图形的方式更加直观地看到多个快照点连续的内存泄漏情况
分享到:
相关推荐
通过LeakDiag查看内存泄漏
LeakDiag是一个监测内存泄漏的工具,可以用来精确地找到内存泄露一直到代码行。它使用微软的Detours 技术,拦截挮......
内存泄漏检测工具leakdiag和配套图形化查看工具LDParser
Windows内存泄漏调试工具LeakDiag
软件介绍 LeakDiag是微软一款检测内存泄漏的工具,可以用来精确地找到内存泄露一直到代码行。它使用微软的Detours 技术,拦截指定内存分配的调用并跟踪各种调用栈,并报告已分配但尚未释放的内存,这一信息允许让...
LeakDiag和LDGrapher,windows内存泄漏排查工具,用于进行一些泄漏位置的查找以及可视化展示。
一款内存泄漏检测工具,能够统计一段时间内的内存泄漏大小以及指出发生内存泄漏的源代码的行数。具体的使用方法可以百度之。
1.检测内存泄露的工具 2. 不需要代码,能定位出泄漏的出处,精确到代码文件的某行 3. 非打桩类
通过LeakDiag查看内存泄漏
很好用个的内存泄漏检测工具,内存泄漏检测工具leakdiag和配套图形化查看工具LDGrapher。
内存检测 leakdiag125.exe可以检测内存泄露状况
NULL 博文链接:https://jacky-dai.iteye.com/blog/2310735
软件介绍: ...两款不同的内存泄漏检测工具leakdiag和配套图形化查看工具LDGrapher,安装后即用。通过检测内存泄露,发现问题所在,省时又省力。内存检测工具集合:LDGrapher_setup.msileakdiag125.msi
针对C++内存泄漏的LeakDiag安装包及测试程序。切记不要改变安装路径
内存泄漏检测工具leakdiag与LDParser,可用。 具体的操作过程等等可以见博客
用于跟踪c++程序的内存状态,方便定位内存泄露的工具,方便快捷,轻量级
windows桌面应用程序内存泄漏定位,很实用的工具 leakdiag和ldgrapher搭配使用。一定要大于50个字吗 所需积分只有5积分 这是为什么呢