Symbian下如何检测内存泄露精编版

上传人:ahu****ng1 文档编号:141722589 上传时间:2020-08-11 格式:DOC 页数:6 大小:268KB
返回 下载 相关 举报
Symbian下如何检测内存泄露精编版_第1页
第1页 / 共6页
Symbian下如何检测内存泄露精编版_第2页
第2页 / 共6页
Symbian下如何检测内存泄露精编版_第3页
第3页 / 共6页
Symbian下如何检测内存泄露精编版_第4页
第4页 / 共6页
Symbian下如何检测内存泄露精编版_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Symbian下如何检测内存泄露精编版》由会员分享,可在线阅读,更多相关《Symbian下如何检测内存泄露精编版(6页珍藏版)》请在金锄头文库上搜索。

1、精品资料推荐Symbian下如何检测内存泄露作者项目组案例来源C+关键词Symbian C+1、 现象、问题描述在Symbian平台下开发应用程序时,内存的管理和维护显得更加严格,因为对于内存受限系统(Symbian OS)来说,内存显得更加宝贵,手机操作系统(Symbian OS)的设计就是要让用户运行一年半载不出问题的目的,不能因为某一第三方应用程序的内存泄漏导致系统瘫痪重起,这是不能接受的,哪怕你的应用程序泄漏了一个字节。但如果单凭开发或测试人员的手工检查程序中的内存泄漏是不现实的,所有有了工具HookLogger。2、 关键过程、根本原因分析HookLogger是基于Windows界面

2、的内存泄露检测工具,下面主要介绍使用HookLogger检测在模拟器下的内存泄露,主要步骤如下:1)HookLogger的安装你可以http:/ Edition的版本,其目录如下:Symbian9.1S60_3rd,然后你打开命令行程序,输入HookEUSER winscw(在Symbian 7.0s以及以前的版本输入HookEUSER wins),这样将修改模拟器版本下的euser.dll文件,从而我们可以使用该工具检测内存泄露。输入HookEUSER winscw命令的时候,可能产生如下的错误Failed setting cwd to epoc32/release/winscw/udeb

3、at C:SymbianHookLoggerHookEUSER.pl line 54.主要的原因是你配置的环境变量不对,你可以按照如下的方式进行设置:如果你的Symbian SDK不是安装在C盘的下,你就要进行如下的修改,在C:Program FilesCommon FilesSymbiantools目录下,打开HookEUSER.pl,将54行修改如下my $path = D:/Symbian/9.1/S60_3rd/Epoc32/release/winscw/udeb;用绝对路径即可。修改后再次输入HookEUSER winscw你可能出现如下的错误:The system cannot f

4、ind the file specified.Failed running copy C:Program FilesCommon FilesSymbianToolsEUserParasite_eka1.dll at C:Program FilesCommon FilesSymbianToolsHookEUSER.pl line 76.你需要作如下的修改:找到74行将my $cmd = copy $hooks_src;修改为my $cmd = copy $hooks_src;并且将77行修改如下:$cmd = $Bin/AttachDll $euser $hooks $hooked_euser;

5、然后再次HookEUSER winscw,提示信息如下:Target path is /Symbian/9.1/S60_3rd_MR/epoc32/release/winscw/UDEB 1 file(s) copied.Modified euser.dll to hook EUserParasite_eka2.dll, original is euser.orig.dll.Run HookEUSER with -r to restore表示HookLogger工具配置成功。3)HookLogger的使用在启动模拟器之前,打开HookLogger,Threads显示当前所有的线程。然后点击一个

6、存在内存泄露的程序,该程序退出的时候,告诉内存泄露的地址,如图:22082f140就是当前程序存在内存泄露的地址,我们点击HookLogger的Heap标签,点击list all allocs的按钮,显示如下:红色部分就表示当前内存泄露的地址,双击该列,显示如下:这样我们就可以通过这些信息分析出内存泄露的原因,这样在该类的析够释放这些内存即可。3、 结论、解决方案及效果使用该工具,能有效地找出深层次的内存泄漏问题,尤其是当项目规模较大时,使用该工具非常高效,用了都说喜欢!4、 经验总结、预防措施和规范建议使用该工具时,仔细分析出错报告,一来方便定位问题,二来对自己的C+编码能力和对底层编译机制的理解有很大的帮助。使用该工具时要具备以下两点:1、首先你应该是一个C+高级用户,因为这样你才有机会发现代码中细微的差别。2、你必须熟悉Symbian OS API的用法和实现机制,否则摆在你面前的内存泄漏你也会认为工具冤枉了你的代码。6、备注无6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号