博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wince内存泄露检测工具Application Verifier的使用和如何快速定位泄露语句
阅读量:4624 次
发布时间:2019-06-09

本文共 1691 字,大约阅读时间需要 5 分钟。

 大家在wince开发过程会发现跟PC上的开发的差距很大,一些在PC上的调试技巧之类的辅助功能都无法使用,比如内存泄露的检测等,那么这篇文章就是告诉大家如何使用wince上的内存检测工具帮助大家找出内存泄露。这里给大家介绍的软件为Application Verifier,是微软自己开发用于监测wince系统的内存和一些内核对象未释放造成内存泄露的辅助工具。该工具只需要在wince上运行指定监控的程序或dll,程序在退出时自动生成日志文件,通过pc端的工具进行日志分析就可以看出泄露的地址。好了不多说了,下面将用图文的方式介绍如何使用该工具(其实这个教程老早就写好了,只是在公司内部流传,最近开始试着写写blog所以也将此拿出来分享下)。

 

Application Verifier PC端 下载地址:http://download.csdn.net/detail/flyound/4826599

Application Verifier(wince5.0)下载地址:http://download.csdn.net/detail/flyound/4826558

Application Verifier(wince6.0)下载地址:http://download.csdn.net/detail/flyound/4826546

 先安装PC端的软件,安装后,到安装目录下的C:\Program Files\Application Verifier for Mobile 5.0\Desktop (安装到其他盘的自己找出目录然后进入DeskTop目录)目录,将AppVerifCE.exe应用程序创建一个快捷方式到桌面方便以后使用。

 

使用步骤1

将wince5.0或wince6.0压缩包内的其他所有文件(除Application Verifier.msi外)拷贝至需要监控的window ce机器上的windows目录下。

使用步骤2

使用AppVerifCE.exe(上面已创建过快捷方式者,可直接运行快捷方式)进行连接到需要监控windows CE机器(wince6.0的机器可能链接不上,可以直接将在wince的windows目录上运行刚才解压的程序进行设置,然后通过本工具进行分析日志文件)。

 

使用步骤图解:

 

 

 

如上图设置完成后,即可在目标机器上运行检测的程序,检测时需叫所有功能测试到,比如test.exe,我们需要对每种操作进行检测,一般每个功能测试两遍即可知晓有没内存泄漏的存在,在不需要检测时,一定要让程序正常退出,否则可能造成检测不准(因为很多程序在退出时会对很多内存进行释放操作)

 

通过Application Verifier在wince端生成日志文件后,我们将文件拷贝到PC上通过PC端的工具进行日志分析,我们就可以定位出泄漏地址的代码行位置了,这里有个前提条件,那就是需要我们在编译程序时将程序的调试信息打开,VS2008设置选项配置方法如下:

1.配置属性 => C/C++ => 常规 => 调试信息格式 => 程序数据库(/Zi)

2.配置属性 => 链接器 => 调试 => 生成调试信息 => 是(/DEBUG)

这样就设置完成了,那么我们就可以用windows ce remote process explorer这个工具来通过地址定位代码了(其实也可以用map之类的手动计算函数偏移量来确定,这个方式很麻烦),工具下载地址:http://download.csdn.net/detail/flyound/4827087

下面开始上图:

 

 

使用ProcessExlporer For Wince工具上的Crack Address功能定位代码行(崩溃地址和泄漏地址同样方法查找代码行):

是不是显示出了泄漏代码位置了,有时候定位的位置可能会相差1,2行左右,因为Release会优化些代码,所以定位不会100%准确。

转载于:https://www.cnblogs.com/zd_ad/archive/2013/02/24/2923975.html

你可能感兴趣的文章
Django模板语言
查看>>
Django路由系统
查看>>
ORM
查看>>
Django视图
查看>>
jmeter 获取总的线程数
查看>>
linux 重启jmeter服务
查看>>
世界时间(卡西欧电波表24个城市缩写翻译及简介)
查看>>
天际PRO-CR16 改装方案
查看>>
nodejs关于前后端图片上传的思路及实现代码
查看>>
深拷贝与浅拷贝
查看>>
vue-Cli3工具中,配置路径别名
查看>>
图片懒加载的使用
查看>>
精灵图(雪碧图)和base64如何选择
查看>>
github的使用流程及命令
查看>>
前端自动化测试
查看>>
js string format
查看>>
python 获取大乐透中奖结果
查看>>
Mysql的安装和图形化界面的使用
查看>>
iOS 圆的放大动画效果
查看>>
ubuntu 16.04 安装cuda的方法
查看>>