Windbg检测内存泄漏

1.首先确保应用程序处于运行状态。
2.运行起来cmd
3.先找到windbug的安装目录,比如说我的安装目录是 C:\Program Files (x86)\Debugging Tools for Windows (x86)
cmd输入 cd C:\Program Files (x86)\Debugging Tools for Windows (x86)
4.设置_NT_SYMBOL_PATH
回车输入指令:set _NT_SYMBOL_PATH=C:\Users\admin\Desktop\DuoXC\Release
后面跟的是pdb的文件路径
5.设置gflags
回车输入指令:gflags -i DuoXC.exe +ust
DuoXC.exe 指的是应用程序的名称
6.开始内存泄漏的检查
回车输入指令umdh -pn:DuoXC.exe -f:d:\Snap1.log
DuoXC.exe 指的是应用内程序的名称
d:\Snap1.log 生成log的路径
7.等程序运行一段时间之后
回车输入指令umdh -pn:DuoXC.exe -f:d:\Snap2.log
DuoXC.exe 指的是应用内程序的名称
d:\Snap2.log 生成log的路径,这段时间内的泄漏
8.分析结果
umdh -d D:\Snap1.log D:\Snap2.log -f:d:\result.txt
d:\result.txt 结果保存的位置,进行分析

附件:
内存泄漏开始.bat
c:
cd C:\Program Files (x86)\Debugging Tools for Windows (x86)
set _NT_SYMBOL_PATH= C:\Users\admin\Desktop\DuoXC\Release
gflags -i DuoXC.exe +ust
umdh -pn: DuoXC.exe -f: d:\Snap1.log
pause

内存泄漏分析.bat
c:
cd C:\Program Files (x86)\Debugging Tools for Windows (x86)
set _NT_SYMBOL_PATH= C:\Users\admin\Desktop\DuoXC\Release
umdh -pn: DuoXC.exe -f: d:\Snap2.log
umdh -d D:\Snap1.log D:\Snap2.log -f: d:\result.txt
pause

使用说明
1.先运行应用程序
2.编辑修改“内存泄漏开始”后运行。
3.操作使内存增长
4.编辑修改“内存泄漏分析”后运行。

你可能感兴趣的:(windbg)