zoukankan      html  css  js  c++  java
  • UMDH

    Umdh 是 Debugging Tools for Windows 里的一个工具,下载地址 http://msdn.microsoft.com/en-US/windows/hardware/gg454513,通过分析比较进程的Heap Stack Trace信息来发现内存泄漏的。

    设置Umdh

    1. 设置 _NT_SYMBOL_PATH环境变量,例如用命令行: set _NT_SYMBOL_PATH = c:WindowsSymbols。把你自己程序的Symbol files (.pdb)文件放在跟你执行文件的同一个目录,或者添加到_NT_SYMBOL_PATH环境变量里面。

    2. 若要生成转储文件的堆分配,必须使用 Gflags.exe 实用程序,它也是包含在 Windows 调试工具产品,让操作系统知道您想要跟踪分配的内核。假设您要为 Notepad.exe 转储 heap(s) 内容。必须先启用要测试的应用程序的堆栈跟踪购置。默认情况下,不启用此功能。要启用此功能的命令如下所示:gflags-i notepad.exe +ust

    启动应用程序,比如notepad,假设notepad的PID为1234,可以使用 UMDH 来获取堆转储,用下面的命令:umdh -p:1234 -f:notepad1234old.log

    做一些可能导致内存泄漏的操作,再运行一次umdh命令:umdh -p:1234 -f:notepad1234new.log
    运行UMDH notepad1234old.log notepad1234new.log > cmp1234.txt比较umdh日志,可以从中找出那些代码分配了新的内存,没有被释放。
     
     
  • 相关阅读:
    C++解析XML
    C/C++获取CPU等硬件信息&&屏幕截图
    C/C++使用Socket通信UDP
    C/C++远程开机
    通过匿名管道获取CMD运行结果
    管道同步通信
    VS2013入门驱动配置测试
    仿LordPE获取PE结构
    ossutil64 替换 lrzsz 方法
    shell perl 等
  • 原文地址:https://www.cnblogs.com/lilideng/p/UMDH.html
Copyright © 2011-2022 走看看