内存泄露排查--UMDH

注意 :下文中出现的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查看内存泄漏情况

你可能感兴趣的:(内存泄露排查--UMDH)