WinDbg检查内存泄露



windbg本身是可以进行动态内存泄露检查的,但是使用起来命令比较多,不好记住,但是它自带的一个工具非常简单,下面简单介绍一个操作步骤:

1)安装windbg,安装好后在path中添加其安装目录(目的是为了执行命令行简单)

2)运行cmd,执行命令gflags /i ImageName +ust(imagename是你的可执行文件名字,例如helloworld.exe),设置后需要重新启动这个程序

3) 执行命令set _NT_SYMBOL_PATH="符号文件路径"(通俗点讲就是pdb文件路径,如果你的pdb文件放在c:\\helloworld目录下,直接执行命令set _NT_SYMBOL_PATH="c:\\helloworld”)

4)在A时刻执行命令umdh -p:pid -f:filename(pid是您的进程id,例如helloworld的pid是1234,filename是你保存的文件的全路径,例如umdh -p:1234 -f:c:\\helloworld1.txt),执行该命令dump出程序此刻的内存情况

5)A时刻过后,程序内存涨了(记为B时刻),再次执行命令umdh -p:pid -f:filename,保存到另外一个文件,例如:umdh -p:1234 -f:c:\\helloworld2.txt

6)执行umdh A时刻文件 B时刻文件 -v >输出文件,打开输出文件就可以查看到。例如umdh c:\\helloworld1.txt c:\\helloworld2.txt >c:\result.txt

7)打开result.txt查看“+”的即为内存涨的

相关文档
最新文档