[发明专利]堆内存分配方法、装置及存储介质在审
申请号: | 201910967329.8 | 申请日: | 2019-10-12 |
公开(公告)号: | CN112650692A | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 雷建忠;刘飞;江波 | 申请(专利权)人: | 北京华为数字技术有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F12/14 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 100085 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分配 方法 装置 存储 介质 | ||
1.一种堆内存分配方法,其特征在于,所述方法包括:
获取当前申请堆内存的应用程序对应的文件名、行号和内存申请大小,所述文件名是指所述应用程序的源代码文件的名称,所述行号是指所述源代码文件中用于申请堆内存的代码所在行的编号,所述内存申请大小是指所述应用程序当前申请的堆内存的大小;
从越界记录文件中查找目标记录,其中,所述越界记录文件包括多条记录,每条记录包括文件名、行号和越界次数,所述目标记录是指所述多条记录中包括的文件名和行号分别与所述应用程序对应的文件名和行号相同的记录;
如果查找到所述目标记录,则根据所述目标记录包括的越界次数,确定理论内存扩充大小;
根据所述内存申请大小和所述理论内存扩充大小,向所述应用程序分配堆内存。
2.如权利要求1所述的方法,其特征在于,所述根据所述目标记录包括的越界次数,确定理论内存扩充大小,包括:
将所述目标记录包括的越界次数与单次扩充大小之间的乘积,确定为所述理论内存扩充大小。
3.如权利要求1所述的方法,其特征在于,所述根据所述内存申请大小和所述理论内存扩充大小,向所述应用程序分配堆内存,包括:
如果所述理论内存扩充大小没有超过内存扩充门限,则将所述理论内存扩充大小作为实际内存扩充大小,根据所述内存申请大小和所述实际内存扩充大小,向所述应用程序分配堆内存。
4.如权利要求1所述的方法,其特征在于,所述根据所述内存申请大小和所述理论内存扩充大小,向所述应用程序分配堆内存,包括:
如果所述理论内存扩充大小超过内存扩充门限,则将所述内存扩充门限作为实际内存扩充大小,根据所述内存申请大小和所述实际内存扩充大小,向所述应用程序分配堆内存。
5.如权利要求3或4所述的方法,其特征在于,所述应用程序的堆内存的内存头包括扩充大小字段;
所述根据所述内存申请大小和所述实际内存扩充大小,向所述应用程序分配堆内存之后,还包括:
将所述实际内存扩充大小写入所述扩充大小字段中。
6.如权利要求1所述的方法,其特征在于,所述从越界记录文件中查找目标记录之后,还包括:
如果未查找到所述目标记录,则根据所述内存申请大小,向所述应用程序分配堆内存。
7.如权利要求1-6任一所述的方法,其特征在于,所述根据所述内存申请大小和所述理论内存扩充大小,向所述应用程序分配堆内存之后,还包括:
根据当前分配给所述应用程序的堆内存的内存头,获取当前分配给所述应用程序的堆内存的末地址写入的数据;
如果当前分配给所述应用程序的堆内存的末地址写入的数据不为指定数据,则确定当前已发生堆内存写越界,根据所述应用程序对应的文件名和行号,对所述目标记录包括的越界次数进行更新。
8.一种堆内存分配装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前申请堆内存的应用程序对应的文件名、行号和内存申请大小,所述文件名是指所述应用程序的源代码文件的名称,所述行号是指所述源代码文件中用于申请堆内存的代码所在行的编号,所述内存申请大小是指所述应用程序当前申请的堆内存的大小;
查找模块,用于从越界记录文件中查找目标记录,其中,所述越界记录文件包括多条记录,每条记录包括文件名、行号和越界次数,所述目标记录是指所述多条记录中包括的文件名和行号分别与所述应用程序对应的文件名和行号相同的记录;
确定模块,用于如果查找到所述目标记录,则根据所述目标记录包括的越界次数,确定理论内存扩充大小;
第一分配模块,用于根据所述内存申请大小和所述理论内存扩充大小,向所述应用程序分配堆内存。
9.如权利要求8所述的装置,其特征在于,所述确定模块具体用于:
将所述目标记录包括的越界次数与单次扩充大小之间的乘积,确定为所述理论内存扩充大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华为数字技术有限公司,未经北京华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910967329.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:夹具存放库
- 下一篇:一种丝印网纱重复利用的方法