高分求救:谁用过Application Verifier在WINCE上检测过内存泄露啊
我在PC端用Application Verifier 检测WINCE上应用程序的内存泄露,已经连接到设备上,可Application Verifier界面右边的Test Settings栏目中始终都没有检测项目,就是空的,谁能告诉我是怎么回事呀?
我在evc上用下面的方法检测内存泄露:
开一个定时器,定时执行的代码:
检测内存的大小,然后显示在界面上。在界面上观察就行了。
使用“GlobalMemoryStatus”可以取得"程序内存总容量"和"存储内存总容量"
这种方法可以知道有内存泄露,但是找不到内存泄露的原因。
WINDOWS CE TEST KIT SERVER->CONNECTION->START CLIENT-->Device Connection 界面 选则 CONNECT-->YC2440 DevelopBoard device(扬创的2440开发板)-->连接到设备后,在WINDOWS CE(ARMV4I),右键菜单->TOOLS-> Application Verifier -> 在打开的界面中,选择Connect->再次连接到设备
整个过程如上所述,可在打开的Application verifier中显示的{default},右边的Test setting栏目中,就是没有选择的测试项目
Application Verifier 没有连接到开发板
LZ的界面上,是不是有个Add按键,通过它增加要测试的应用。然后在右边选择Test settin,开始运行。
已经连接到开发板,我看到开发板上测试工具的客户端在运行,并且Application Verifier所需要的文件已经拷贝到开发板的根目录下[shim_heap.dll,shim_hleak.dll,shim_usergdi.dll,shim_verifier.dll,shimeng.dll,vlog.dll,htracker.dll],之前曾经有两次成功,我观察到在设备的的注册表有[HKEY_LOCAL_MACHINE\ShimEngine]键,里面是这些动态库的注册,但当我重起设备后,在用测试工具连接设备,就出现上述情况,且设备注册表里也没有[HKEY_LOCAL_MACHINE\ShimEngine]键
但设备上的注册过程应该是测试工具自动做的,与设备重起没有关系吧,同时我还换了不同的电脑做这些过程,都不成功,是不是这个内存泄露测试工具有什么特别的设置?
设备重启,设备上的注册信息可能会丢失的,包括下过去的测试工具文件。
所以要重新连接设备,重新开始测试过程
这个我知道,可是重新按那个过程来做,也不成功,之所以有2次成功,不知道什么原因造成的现在就是想知道是不是那些方面的设置没有设置好,引起这样问题
引用: 引用 11 楼 en2008 的回复:
也想问一下,大家平时用什么工具做内存泄露测试
内存泄漏的时候会导致异常,在串口有信息输出吧?
Application Verifier 没有使用过,学习一下。
在微软的webcast上有wince 内存泄漏的检测和防止,不知道是如何做的,今晚回家看看。
据说那些大的开发商也经常用这个工具做项目测试,况且是微软自带的,也免费,其他的工具我也用过,要么测试的不完全,要么收费.才想用它做内存泄露测试
http://blog.eeworld.net/xdkui/archive/2008/12/19/3560143.aspx
这篇文章也许对你有帮助。
这次真是大开眼界,这东西很好,很强大。
这文章我也看过,我出问题的界面如下:
http://blog.eeworld.net/en2008/archive/2009/05/18/4196721.aspx
另外我的系统是WINCE5.0, gooogleman,你是在WINCE的哪个版本上测试?
引用: 引用 15 楼 en2008 的回复:
这文章我也看过,我出问题的界面如下:
http://blog.eeworld.net/en2008/archive/2009/05/18/4196721.aspx
另外我的系统是WINCE5.0, gooogleman,你是在WINCE的哪个版本上测试?
我没有测试过。我觉得真的很有用。以前很想拥有这么个工具。明天有空我试试吧。
在顶一下,今天有所进展,可能是定制的NK里边去少了某些组件引起的,至于少了那些组件,还不清楚.