天天看点

windbg分析内存泄露

首先去微软官方网站下载windbg安装包,Windbgx86_v6.12.2.633.1395371577.msi或者X86 Debuggers And Tools-x86_en-us.msi

安装完毕后进入cmd,切换到windbg安装目录,

1、运行命令set _NT_SYMBOL_PATH=C:\Windows\symbols;******;

其中*****表示程序的pdb文件目录;

2、运行gflags -i test.exe +ust

其中test.exe为目标程序;

3、启动test.exe,运行umdh.exe -pn:test.exe -f:1.txt

根据程序名称生成第一个内存快照1.txt

另外可以通过进程ID生成进程快照,比如umdh.exe -p:4532 -f:1.txt

4、test.exe运行一段时间后,抓取第二内存快照,运行umdh.exe -pn:test.exe -f:2.txt

5、自动比较生成结果文件,运行

umdh.exe 1.txt 2.txt -f:Result.txt           //使用umdh比较dump文件

6、查看Result.txt文件靠前的几个模块就是内存泄漏的怀疑点,根据对应代码文件进行一一确认排查。

继续阅读