- 1. 什么是UMDH
UMDH=User Mode dump heap.把进程的堆dump下来.包括堆栈信息.
UMDH是WinDbg附带的一个工具。
- 2. 下载安装 WinDbg.完事后在WinDbg安装文件夹下就会找到UMDH.exe.
- 3. 所有程序->Debugging Tool for Windows (x86)->Global Flags
Image File->输入exe文件名包括扩展名->按Alt->勾选Create User mode stack trace database
可选:Stack Backtrace:(Megs) 设置存储大小,做完这一步你必须重启你要dump的程序.
- 4. 设置PDB文件路径,环境变量:_NT_SYMBOL_PATH
- 5. 启动程序
- 6. 进入cmd, 定位到 WinDbg 的安装目录。
umdh -p:ProcessID -f:1.txt
过一会再
umdh -p:ProcessID -f:2.txt
然后Compare
umdh 1.txt 2.txt > logcompare.txt -d
- 7. 打开 logcompare.txt 分析。
详见:WinDbg 的说明文档,标题<Using UMDH to Find a User-Mode Memory Leak>