使用按键精灵+umdh定位内存泄露问题的方式
2016-04-18 14:55
344 查看
使用按键精灵+umdh定位内存泄露问题的方式
一、配置方法
1、 安装windbg版本,必须安装:X86 Debuggers And Tools-x86_en-us.msi2、 安装windows相关pdb和客户端程序对应的pdb。
a) 比如:F:\symbols下创建两个目录,windows存放操作系统pdb,
pdb目录存放播放器pdb。Pdb一定要与运行的播放器版本完全匹配,否则定位结果没意义
3、 配置环境变量
a) 将windbg的路径配置到path环境变量中
path=C:\Program Files\Windows Kits\8.0\Debuggers\x86
b) 配置umdh使用的symbols目录
c) 配置gflags标记
在命令行输入gfalgs,按下图方式配置
4、 按键精灵配置
a) 录制脚本。注意脚本必须是从初始页面开始最终回到初始界面。(比如从登陆页面开始,经过一系列操作后,最终回到登陆界面。)
b) 录完,双击脚本,在最后增加以下几行内容,catch_memory_snapshot.bat参考下面的附件。注意,例子里是将bat脚本放到D:\umdh目录下。脚本里抓取的快照也是存放在D:\umdh目录下的。
Delay 1883 RunApp "D:\umdh\catch_memory_snapshot.bat" Delay 5000 |
5、 验证配置结果是否正确
使用umdh命令对比两次快照结果。
umdh 2015-05-09-17-14.txt 2015-05-09-17-21.txt -f:result.txt
二、查看result.txt的结果
1) 能看到pdb加载成功2) 能定位到代码行位置
三、附件
供按键精灵调用的脚本catch_memory_snapshot.bat,功能定时抓取内存信息生成对比信息
for /f "tokens=1,2,3 delims=/-" %%a in ('date /t') do (
set yyyy=%%a
set mm=%%b
set dd=%%c
)
set Date=%yyyy:~-4%-%mm%-%dd:~0,2%
Time=`time /t`
::格式为Year-Month-Day-Hour-Minute
if "%Time:~0,1%" neq " " (
set DateTime=%Date%-%Time:~0,2%-%Time:~3,2%) else (
if "%Time:~1,1%" neq " " (
set DateTime=%Date%-0%Time:~1,1%-%Time:~3,2%) else (
set DateTime=%Date%-%Time:~0,2%-%Time:~3,2%
))
umdh -pn:iexplore.exe -f:D:\\umdh\\%DateTime%.txt
相关文章推荐
- cocos笔记
- 深圳证券交易所网络投票业务指南
- poj 1036 Gangsters 简单dp
- bzoj 2162: 男生女生
- boost的配置解析库
- PHP常量与变量,函数
- 相似性度量(Similarity Measurement)
- OpenCV读取序列图片(二)
- 关于在不同品牌的手机在自带的存储空间上创建文件的区别
- 面向业务的立体化高可用架构设计
- iOS 单例模式 浅叙
- XAMPP(集成PHP+MySQL+Apache)修改Apache默认工程位置
- Win8.1安装itunes提示此windows installer软件包有一个问题如何解决
- Direct3D 11第三节 Shaders and Effect System
- OSG源码编译
- 华为研发实习生(一面)
- 关于Android的nodpi,xhdpi,hdpi,mdpi,ldpi
- 机器学习实战之k-means
- 《Spark MLlib 机器学习》勘误(持续更新)
- 标准构建