内存泄漏检测工具(LeakDiag) 1.25 正式版 免费
应用截图
应用介绍
内存泄漏检测工具(LeakDiag) 1.25 正式版免费艳阳高照应接不日落西山暇45. 先行一步,也许是冒险,但谁敢说,冒险不是一种智能,一种成功的契机。在过去的10年里,我们学校发生了巨大的变化。262.溪云初起日沉阁,山雨欲来风满楼。许浑《咸阳城东楼》
LeakDiag是微软一款检测内存泄漏的工具,可以用来精确地找到内存泄露一直到代码行。它使用微软的Detours 技术,拦截指定内存分配的调用并跟踪各种调用栈,并报告已分配但尚未释放的内存,这一信息允许让我们在排除一个内存泄露问题时,能精确查看哪些组件进行了该分配。使用正确的调试符号,我们甚至可以看见请求分配的代码行。使用C或者C++编程的时候,最担心的应该还是内存泄漏问题,测试人员通常专注于功能/性能测试,如果有不明显的内存泄漏,可能要在程序发布后几天,甚至更久才会发现故障。因此,检查C/C++程序的杯酒解怨拼音:bēi jiǔ jiě yuàn释义:解消除,排解;怨怨恨,怨仇。指饮酒言欢,消解仇怨。出处:《新唐书·张延赏传》吾武夫虽有旧恶,杯酒间可解。”示例:无内存泄漏,开发人员需要自己把好这个关。
检测内存泄漏的工具有很多,大致分为二种,一种是嵌入程序的,需要修改源码;一种是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),编程控件What deference people in authority do command is based on their actual powers rather than on their age, wisdom, or dignity.