精华内容
下载资源
问答
  • 内存泄露检测工具

    2017-12-02 16:21:53
    内存泄露检测工具,帮助程序员自动化检测内存泄露,定位内存泄露位置,快速方便的排除内存泄露问题。
  • 内存泄漏检测工具

    2016-01-08 14:09:10
    js内存泄漏检测工具;内存泄漏检测工具IE Javascript leaks detector
  • 内存泄漏检测工具leakcanry,可以协助排查内存泄漏的问题。
  • windows内存泄露检测,VLD(Visual Leak Detector)是一款用于 Visual C++ 的免费内存泄露检测工具。内寸泄露检测神器。
  • C++内存泄漏检测工具

    2017-09-14 09:44:28
    一个非常好用的C++内存泄漏检测工具以及使用例子,可以方便地检测出开发的程序中内存泄漏情况,程序员必备工具之一。
  • leakcanary内存泄漏检测工具.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • vld 内存泄露检测工具

    2014-03-13 10:57:59
    Visual Leak Detector是一款用于Visual C++的免费的内存泄露检测工具
  • vc++内存泄漏检测工具

    2017-05-24 10:40:17
    一款很好用 的内存泄漏检测工具,对初学者是个很好的学习机会
  • arm环境内存泄漏检测工具valgrind,用于检测arm环境下的内存泄漏
  • vld内存泄漏检测工具

    2013-04-23 23:46:46
    vld内存泄漏检测工具,一款很不错的内存泄漏检测工具
  • JS内存泄漏检测工具

    2013-07-16 09:38:41
    JS内存泄漏检测工具:IEJSLeaksDetector
  • 内存泄漏检测工具leakcanry的资源,放在工程对应文件夹下。
  • linux平台下内存泄漏检测工具valgrind3.11
  • Windows内存泄漏检测工具总结

    千次阅读 2018-03-26 00:02:24
    Windows内存泄漏检测工具总结 前言 Win32内存管理结构 Windows内存泄漏检测工具简单原理 Windows内存泄漏检测工具总结 前言 做C\C++开发的时候,经常会有程序内存(资源)泄漏的Bug。对于这类Bug,除了提高...

    Windows内存泄漏检测工具总结



    前言

    做C\C++开发的时候,经常会有程序内存(资源)泄漏的Bug。对于这类Bug,除了提高代码质量(比如使用智能指针),我们也可以借助一些调试工具来帮助我们定位问题。
    Windows平台下还是有很多的内存泄漏检测工具的,这里我自己总结一下使用过的免费工具(基本上是开源的)。
    



    Win32内存管理结构

    Win32内存管理可以分为三层。VM,Win32 Heap, CRT Heap。在我们一般的编程过程中,使用的是CRT Heap(malloc,free,new,delete)
    这里写图片描述



    Windows内存泄漏检测工具简单原理

    这里我简单描述自己了解的一种实现原理,只是一种可行的方法

     1. 远程注入DLL到目标进程(VLD是需要目标进程链接DLL的),关键部分就是这个DLL中的逻辑

     2. 当DLL被加载目标进程的时候,HOOK内存分配释放函数。当程序分配内存的时候,记录下这次分配的信息(分配的位置,大小,调用堆栈等)到一个map中,当程序释放内存的时候,就从map中移除。

     3. 在进程退出或者某个时候,可以遍历map,打印出还没有被释放的内存块的信息。

    上面只是一个简单的描述,具体的话涉及的问题还比较多,当然资料也很多。

    远程注入:关键点CreateRemoteThread
    HOOK:HOOK有现成库detours,minihook等
    调用堆栈:可以使用DbgHelp相关的函数来加载pdb,解析堆栈StackWalk64



    Windows内存泄漏检测工具总结

    • Leak Mon

      • 这个是CodeProject上的一个开源工具,远程注入不需要修改代码
    • VLD

      • 这个工具使用的时候需要修改源代码
    • UMDH

      • 这个工具是MS提供的检测用户模式的内存泄露问题,使用起来稍微有点麻烦,需要对目标进程抓取两份log,然后比较
      • gflags /i ImageName +ust (create user mode stack trace)
      • umdh -p:124 -f:log1.txt
      • umdh -p:124 -f:log2.txt
      • umdh log1.txt log2.txt > logcompare.txt
    • Dr.Memory

      • 这个工具是基于动态二进制插桩工具DynamoRIO开发的,检测原理不一样。并且能够检测到更多的错误(比如读取未初始化的内存,访问越界等),但我感觉对程序性能影响很大
    • CRT

      • VC++的CRT库在Debug下支持内存的诊断的,我们在调试程序,进程退出的时候看到”Detected memory leaks! Dumping objects -> “就说明有内存没有正确的释放,当时看不到代码行号。
      • #define _CRTDBG_MAP_ALLOC 定义_CRTDBG_MAP_ALLOC宏,能使得CRT库打印行号。
      • 同时CRT库提供丰富的API来支持调试,包括HOOK分配和释放函数。
    • Debug Dialog, Leak Diag.

    展开全文
  • symbian 内存泄露 检测工具 按配置配置下就可以使用啦
  • LeakInTheHole!内存泄露检测工具

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,213
精华内容 20,485
关键字:

内存泄露检测工具