首先, 我们要下载工具最新的官方介绍文档在这个地址:
1. 安装:
安装好Application Verifier之后, 在它的根目录下有个Armv4i文件夹, 将此文件夹复制到手机端的my document目录下, 然后使用shimexp.exe加载shimeng.dll, 之后就可以正常使用AppVerif.exe.
2.开始测试:
然后将程序的.exe文件也拷贝到my document下面, 同时把map文件放到windows 目录下面(为了在生成的log里面显示函数调用关系). 然后打开AppVerif.exe, 运行要测试的程序, 按照test case做测试就行了. 测试完毕后, 在手机根目录下面会产生log文件, 拷贝出来, 使用avlogview.exe来查看log. 如果log文件正常, 则会有清晰的内存泄露的函数调用关系, 如果log不正常, 则不会出现函数调用关系, 这个时候就需要我们手动修改一下log文件.
打开log文件会看到很多??!(NULL)的字符, 把??替换成你的程序名字比如xx.exe就可以了. 为什么有??这个字符? 那是因为在执行内存测试的时候, 测试程序没有找到匹配的map文件.
3.分析log:
我们打开正常的log以后, 会看到类似于: fun() + 4af之类的函数调用地址, 这个时候就要从cod文件里面找具体的事发地点了.
+ 后面的4af就是cod里面事发地址相对于fun()函数的位置, 很容易找到, 因此就可以判断内存泄露的原因.
以上是基本的操作步骤, 实际的情况要复杂一些.