热门排行
简介
内存泄漏检测工具是一款内存检测工具,用于查找内存泄漏的区域,精确到某个代码行,快来下载体验吧。
软件介绍
LeakDiag是微软一款检测内存泄漏的工具,可以用来精确地找到内存泄露一直到代码行。它使用微软的Detours 技术,拦截指定内存分配的调用并跟踪各种调用栈,并报告已分配但尚未释放的内存,这一信息允许让我们在排除一个内存泄露问题时,能精确查看哪些组件进行了该分配。使用正确的调试符号,我们甚至可以看见请求分配的代码行。使用C或者C++编程的时候,最担心的应该还是内存泄漏问题,测试人员通常专注于功能/性能测试,如果有不明显的内存泄漏,可能要在程序发布后几天,甚至更久才会发现故障。因此,检查C/C++程序的内存泄漏,开发人员需要自己把好这个关。
检测内存泄漏的工具有很多,大致分为二种,一种是嵌入程序的,需要修改源码;一种是attach到进程,实时监测的。
LeakDiag是微软的一款内存泄漏检测工具,免费的,不需要和待检测的源程序一起编译,在使用上较为方便,能够统计一段时间内的内存泄漏大小以及指出发生内存泄漏的源代码的行数。
注意事项
务必按照默认路径安装,否则可能出问题。
功能介绍
LeakDiag支持5种不同的分配:
1) 虚拟分配。 这种分配可追踪用VirtualAlloc/ VirtualAllocEx 等关于虚拟内存分配的内存。此时,选择LeakDiag 上[Memory allocators] 选项的“Virtual Memory Allocator”来检测。
2) 堆分配。这种分配可追踪NTDLL.DLL中如下函数分配的内存。
· RtlCreateHeap,
· RtlDestroyHeap,
· RtlAllocateHeap,
· RtlFreeHeap,
· RtlReAllocateHeap,
· LocalReAlloc,
· LocalFree,
· LocalAlloc,
· LocalReAlloc,
· GlobalAlloc,
· GlobalReAlloc and
· GlobalFree
此时,选择LeakDiag 上[Memory allocators] 选项的“Windows Heap Allocator”来检测。
3) 线程局部存储(Thread Local Storage,TLS指允许一个进程的多个线程存储每个线程所独有的数据的一种Win32 机制)分配。这种分配可追踪MSDART32.DLL中如下函数分配的内存。
· MPHeapAlloc,
· MPHeapFree and
· MPHeapReAlloc
此时,选择LeakDiag 上[Memory allocators] 选项的“MPHeap Allocator”来检测。
4) COM分配(外部和内部)。这种分配可追踪OLE32.DLL,OLEAUT32.DLL 中如下函数分配的内存。
· CoGetMalloc,
· CoTaskMemAlloc,
· CoTaskMemFree,
· CoTaskMemRealloc,
· CRetailMalloc_Alloc,
· CRetailMalloc_Free,
· CRetailMalloc_Realloc,
· SysAllocStringLen,
· SysAllocStringByteLen,
· SysAllocString,
· SysFreeString,
· SysReAllocString and
· SysReAllocStringLen
此时,选择LeakDiag 上[Memory allocators] 选项的“COM Allocator”或“COM Internal Allocator”来检测。
5) C运行时分配。这种分配可追踪MSVCRT.DLL中如下函数分配的内存。
· malloc,
· calloc,
· realloc,
· free,
· new,
· new[],
· delete and
· delete[]
此时,选择LeakDiag 上[Memory allocators] 选项的“C Runtime Allocator”来检测。
软件介绍
LeakDiag是微软一款检测内存泄漏的工具,可以用来精确地找到内存泄露一直到代码行。它使用微软的Detours 技术,拦截指定内存分配的调用并跟踪各种调用栈,并报告已分配但尚未释放的内存,这一信息允许让我们在排除一个内存泄露问题时,能精确查看哪些组件进行了该分配。使用正确的调试符号,我们甚至可以看见请求分配的代码行。使用C或者C++编程的时候,最担心的应该还是内存泄漏问题,测试人员通常专注于功能/性能测试,如果有不明显的内存泄漏,可能要在程序发布后几天,甚至更久才会发现故障。因此,检查C/C++程序的内存泄漏,开发人员需要自己把好这个关。
检测内存泄漏的工具有很多,大致分为二种,一种是嵌入程序的,需要修改源码;一种是attach到进程,实时监测的。
LeakDiag是微软的一款内存泄漏检测工具,免费的,不需要和待检测的源程序一起编译,在使用上较为方便,能够统计一段时间内的内存泄漏大小以及指出发生内存泄漏的源代码的行数。
注意事项
务必按照默认路径安装,否则可能出问题。
功能介绍
LeakDiag支持5种不同的分配:
1) 虚拟分配。 这种分配可追踪用VirtualAlloc/ VirtualAllocEx 等关于虚拟内存分配的内存。此时,选择LeakDiag 上[Memory allocators] 选项的“Virtual Memory Allocator”来检测。
2) 堆分配。这种分配可追踪NTDLL.DLL中如下函数分配的内存。
· RtlCreateHeap,
· RtlDestroyHeap,
· RtlAllocateHeap,
· RtlFreeHeap,
· RtlReAllocateHeap,
· LocalReAlloc,
· LocalFree,
· LocalAlloc,
· LocalReAlloc,
· GlobalAlloc,
· GlobalReAlloc and
· GlobalFree
此时,选择LeakDiag 上[Memory allocators] 选项的“Windows Heap Allocator”来检测。
3) 线程局部存储(Thread Local Storage,TLS指允许一个进程的多个线程存储每个线程所独有的数据的一种Win32 机制)分配。这种分配可追踪MSDART32.DLL中如下函数分配的内存。
· MPHeapAlloc,
· MPHeapFree and
· MPHeapReAlloc
此时,选择LeakDiag 上[Memory allocators] 选项的“MPHeap Allocator”来检测。
4) COM分配(外部和内部)。这种分配可追踪OLE32.DLL,OLEAUT32.DLL 中如下函数分配的内存。
· CoGetMalloc,
· CoTaskMemAlloc,
· CoTaskMemFree,
· CoTaskMemRealloc,
· CRetailMalloc_Alloc,
· CRetailMalloc_Free,
· CRetailMalloc_Realloc,
· SysAllocStringLen,
· SysAllocStringByteLen,
· SysAllocString,
· SysFreeString,
· SysReAllocString and
· SysReAllocStringLen
此时,选择LeakDiag 上[Memory allocators] 选项的“COM Allocator”或“COM Internal Allocator”来检测。
5) C运行时分配。这种分配可追踪MSVCRT.DLL中如下函数分配的内存。
· malloc,
· calloc,
· realloc,
· free,
· new,
· new[],
· delete and
· delete[]
此时,选择LeakDiag 上[Memory allocators] 选项的“C Runtime Allocator”来检测。