[发明专利]应用内存错误检测方法、检测装置及存储介质有效
申请号: | 201710455121.9 | 申请日: | 2017-06-16 |
公开(公告)号: | CN109150642B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 罗鑫 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04M1/725;G06F11/36;G11C29/44;G11C29/56 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 内存 错误 检测 方法 装置 存储 介质 | ||
本发明提供一种应用内存错误检测方法,其包括:通过钩子接口,获取至少一内存分配数据;根据内存分配数据,获取内存分配数据对应的分配内存地址、分配内存块大小以及分配内存堆栈;创建内存分配数据对应的地址哈希表;创建应用内存对应的堆栈哈希表;根据内存设定条件,将堆栈哈希表中的堆栈信息以及对应的堆栈累计内存拷贝至存储器中;当检测到应用内存错误发生时,将存储器中的堆栈信息以及对应的堆栈累计内存上报至后台服务器。本发明还提供一种应用内存错误检测装置及存储介质,本发明可通过终端存储器将应用内存数据上报至后台服务器,以便进行内存错误检测。
技术领域
本发明涉及应用数据检测领域,特别是涉及一种应用内存错误检测方法、检测装置及存储介质。
背景技术
苹果公司的苹果手机由于其稳定的性能,受到广大用户的喜爱,因此应用开发商开发了各种各样的苹果系统的应用。现有的应用开发商将应用上架应用市场前,一般会对应用进行各种功能测试,如内存错误检测也是其中重要的一项测试。
但是现有苹果手机对应用内存占用的统计操作只能通过与苹果手机相连的苹果mac电脑进行,无法通过苹果手机独立对应用内存进行统计操作。这样造成现有的苹果手机应用的测试流程较为复杂,同时无法方便的与后台服务器结合,实现应用测试结果的自动化上报监控。
发明内容
本发明实施例提供一种可通过苹果手机独立对应用内存进行统计操作,苹果手机应用的测试流程较为简单,且可实现应用测试结构的自动化上报的应用内存错误检测方法、检测装置及存储介质;以解决现有的应用内存错误检测方法、检测装置及存储介质的苹果手机应用的测试流程较为复杂,且不能对应用测试结果进行自动上报的技术问题。
本发明实施例提供一种应用内存错误检测方法,其包括:
通过钩子接口,获取至少一内存分配数据;
根据所述内存分配数据,获取所述内存分配数据对应的分配内存地址、分配内存块大小以及分配内存堆栈;
以所述分配内存地址为键值,以所述分配内存地址对应的分配内存块大小以及分配内存堆栈为值,创建所述内存分配数据对应的地址哈希表;
以所述地址哈希表中的所述分配内存堆栈为键值,以所述分配内存堆栈对应的堆栈信息以及堆栈累计内存为值,创建应用内存对应的堆栈哈希表;
根据内存设定条件,将所述堆栈哈希表中的堆栈信息以及对应的堆栈累计内存拷贝至存储器中;以及
当检测到应用内存错误发生时,将所述存储器中的堆栈信息以及对应的堆栈累计内存上报至后台服务器,以便进行内存错误检测。
本发明实施例还提供一种应用内存错误检测装置,其包括:
内存分配数据获取模块,用于通过钩子接口,获取至少一内存分配数据;
内存分配数据参数获取模块,用于根据所述内存分配数据,获取所述内存分配数据对应的分配内存地址、分配内存块大小以及分配内存堆栈;
地址哈希表创建模块,用于以所述分配内存地址为键值,以所述分配内存地址对应的分配内存块大小以及分配内存堆栈为值,创建所述内存分配数据对应的地址哈希表;
堆栈哈希表创建模块,用于以所述地址哈希表中的所述分配内存堆栈为键值,以所述分配内存堆栈对应的堆栈信息以及堆栈累计内存为值,创建应用内存对应的堆栈哈希表;
拷贝模块,用于根据内存设定条件,将所述堆栈哈希表中的堆栈信息以及对应的堆栈累计内存拷贝至存储器中;以及
上报检测模块,用于当检测到应用内存错误发生时,将所述存储器中的堆栈信息以及对应的堆栈累计内存上报至后台服务器,以便进行内存错误检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710455121.9/2.html,转载请声明来源钻瓜专利网。