[发明专利]内存占用分析方法及装置有效
申请号: | 201710476798.0 | 申请日: | 2017-06-21 |
公开(公告)号: | CN107291619B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 于绞龙;董涛;卜云涛;纪纲 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 占用 分析 方法 装置 | ||
1.一种内存占用分析方法,其特征在于,包括:
获取软件测试对应的内存对象转储文件;
对所述内存对象转储文件进行解析,得到不同类的对象;
对所述对象进行内存占用监控,得到所述对象对应的内存占用信息;
其中,对所述内存对象转储文件进行解析,得到不同类的对象,具体包括:
根据所述内存对象转储文件中记录的不同标签TAG值,分别创建各自对应类的对象,具体包括:
对所述内存对象转储文件进行解析,若解析到TAG值为预定字符串信息的值,则根据当前读取位的下一个整型值和下一个字节的长度,创建字符串集合;
若解析到TAG值为预定已加载类信息的值,则根据当前读取位的下一个整型值和所述字符串集合,创建已加载类集合;
若解析到TAG值为预定函数调用栈信息的值,则根据当前读取位之后预置个数的整型值和所述字符串集合,创建调用栈对象集合;
若解析到TAG值为预定栈帧信息的值,则根据当前读取位之后预设个数的字节和所述调用栈对象集合,创建调用栈帧集合;
若解析到TAG值为预定堆转储信息的值,则以当前读取位的下一个字节的长度为个数继续进行读取TAG值,并根据读取到的TAG值,创建对应类的对象。
2.根据权利要求1所述的方法,其特征在于,若读取到的TAG值为第一预定值,则所述根据读取到的TAG值,创建对应类的对象,具体包括:
创建相应的根ROOT对象。
3.根据权利要求1所述的方法,其特征在于,若读取到的TAG值为第二预定值,则所述根据读取到的TAG值,创建对应类的对象,具体包括:
继续读取当前读取位之后预设个数的字节,分别作为标识号码、线程序列号码、堆栈帧号码;
从预置线程对象集合中查询与所述线程序列号码对应的线程对象;
从所述调用栈帧集合中查询与所述线程对象的调用栈序列号码对应的调用栈帧信息;
根据所述调用栈帧信息、所述标识号码、所述线程序列号码,创建相应的原始态Native对象、或JAVA对象、或原始态栈Native Stack对象、或线程块Thread Block对象。
4.根据权利要求1所述的方法,其特征在于,若读取到的TAG值为第三预定值,则所述根据读取到的TAG值,创建对应类的对象,具体包括:
继续读取当前读取位之后预设个数的字节,分别作为标识号码、线程序列号码、堆栈序列号码;
根据所述标识号码和所述堆栈序列号码创建线程对象Thread Object对象。
5.根据权利要求1所述的方法,其特征在于,若读取到的TAG值为第四预定值,则所述根据读取到的TAG值,创建对应类的对象,具体包括:
继续读取当前读取位之后预定个数的字节,分别作为标识号码、线程序列号码、超类号码、类加载器号码、对象实例尺寸、数目项、位置信息;
从预置线程对象集合中查询与所述线程序列号码对应的线程对象;
从所述调用栈帧集合中查询与所述线程对象的调用栈序列号码对应的调用栈帧信息;
从所述已加载类集合中查询与所述标识号码对应的类名称;
根据所述标识号码、所述调用栈帧信息、所述类名称、所述位置信息,创建类对象ClassObj对象,并根据所述超类号码和所述类加载器号码对所述ClassObj对象进行配置。
6.根据权利要求1所述的方法,其特征在于,若读取到的TAG值为第五预定值,则所述根据读取到的TAG值,创建对应类的对象,具体包括:
继续读取当前读取位之后预置个数的字节,分别作为标识号码、堆栈号码、类号码、剩余量、位置信息;
从所述调用栈帧集合中查询与所述堆栈号码对应的调用栈帧信息;
根据所述标识号码、所述调用栈帧信息、所述位置信息,创建类实例ClassInstance对象,并根据所述类号码对所述ClassInstance对象进行配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710476798.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:应用存储方法、装置及终端设备
- 下一篇:一种测试用例生成方法及装置