注意 :下文中出现的GTJ2018.exe,请根据实际情况替换成对应的APP名称
- 1 安装Debugging Tools for Windows 32位版本
- 2 将windbg.exe(Debugging Tools for Windows 32)的路径添加到环境变量path中
- 3 新添加一个环境变量(包括GTJ2018.exe的符号文件路径和微软的符号文件路径):
_NT_SYMBOL_PATH=d:\gaeapdb;srv*d:\mycache*https://msdl.microsoft.com/download/symbols
注意:d:\gaeapdb指到需要调试程序的pdb文件,如果有多个路径可以用‘;’分开添加,d:\mycache指向windows系统自己的pdb文件,windows系统的pdb文件在调试的时候其会自动从windows官网上下载。
设置环境变量后VS在启动程序时会自动加载_NT_SYMBOL_PATH下的pdb文件,会使调试程序非常慢,所以在不需要时把它去掉。 - 4 在命令行中,
4.1 cd到APP所在目录,如:F:\work\GTJ2017\build\bin\Win32\Release
4.2 运行命令:gflags /i GTJ2018.exe +ust
如果失败,请检查刚才设置的环境变量是否生效 - 5 运行GTJ2018.exe
- 6 在命令行中,运行命令:
umdh.exe -pn:GTJ2018.exe -f:FirstDump.txt
注意:-f:
表示输出文件,如:-f:FirstDump.txt
生成到当前路径下;-f:C:\FirstDump.txt
生成到C盘下 - 7 在软件中操作相应的功能
- 8 在命令行中,运行命令:
umdh.exe -pn:GTJ2018.exe -f:SecondDump.txt
- 9 在命令行中,运行命令:
umdh.exe FirstDump.txt SecondDump.txt -f:Result.txt
这一步计算内存差值时间较长,请耐心等待 - 10 打开生成的Result.txt查看内存泄漏情况
网友评论