[发明专利]内存检查方法、装置、电子设备及存储介质有效
申请号: | 202010125124.8 | 申请日: | 2020-02-27 |
公开(公告)号: | CN111309538B | 公开(公告)日: | 2023-03-21 |
发明(设计)人: | 沈飞;张沫 | 申请(专利权)人: | 腾讯科技(成都)有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22;G06F9/50 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 祝亚男 |
地址: | 610041 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 检查 方法 装置 电子设备 存储 介质 | ||
1.一种内存检查方法,其特征在于,所述方法包括:
响应于内存释放操作,调用内存释放指令;
截获所述内存释放指令,得到所述内存释放指令所指示待释放内存的地址;
获取所述地址对应的内存信息,所述内存信息用于指示所述地址的内存被分配时的分配方式;
响应于所述内存信息中分配方式为通过内存池分配,且所述内存释放指令所指示待释放内存的释放方式为不是通过内存池释放,确定内存出现问题;
响应于所述内存信息中分配方式为不是通过内存池分配,且所述内存释放指令所指示待释放内存的释放方式为通过内存池释放,确定内存出现问题。
2.根据权利要求1所述的方法,其特征在于,所述内存信息的生成过程包括:
响应于内存分配操作,调用内存分配指令;
截获所述内存分配指令,得到所述内存分配指令所指示的待分配内存的地址;
生成所述待分配内存的内存信息;
对应存储所述地址与所述待分配内存的内存信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述内存信息中分配方式与所述内存释放指令所指示待释放内存的释放方式匹配,执行所述内存释放指令。
4.根据权利要求3所述的方法,其特征在于,所述响应于所述内存信息中分配方式与所述内存释放指令所指示待释放内存的释放方式匹配,执行所述内存释放指令,包括下述任一项:
响应于所述内存信息中分配方式为通过内存池分配,且所述内存释放指令所指示待释放内存的释放方式为通过内存池释放,执行所述内存释放指令;
响应于所述内存信息中分配方式为不是通过内存池分配,且所述内存释放指令所指示待释放内存的释放方式为不是通过内存池释放,执行所述内存释放指令。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述内存信息包括分配内存字段,所述分配内存字段用于标识所述地址的内存被分配时的分配方式。
6.根据权利要求5所述的方法,其特征在于,所述分配内存字段为1用于指示所述地址的内存被分配时通过内存池分配;所述分配内存字段为0用于指示所述地址的内存被分配时不是通过内存池分配。
7.根据权利要求5所述的方法,其特征在于,所述内存信息还包括释放内存字段,所述释放内存字段用于标识所述内存释放指令所指示待释放内存的释放方式。
8.根据权利要求7所述的方法,其特征在于,所述获取所述地址对应的内存信息之前,所述方法还包括:
在内存信息中的释放内存字段记录所述内存释放指令所指示待释放内存的释放方式。
9.根据权利要求7所述的方法,其特征在于,所述释放内存字段为1用于指示所述内存释放指令所指示待释放内存的释放方式为通过内存池释放;所述释放内存字段为0用于指示所述内存释放指令所指示待释放内存的释放方式为不是通过内存池释放。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括下述任一项:
响应于所述内存信息中分配内存字段为1,释放内存字段为0,确定内存出现问题;
响应于所述内存信息中分配内存字段为0,释放内存字段为1,确定内存出现问题。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括下述任一项:
响应于所述内存信息中分配内存字段为1,释放内存字段为1,执行所述内存释放指令;
响应于所述内存信息中分配内存字段为0,释放内存字段为0,执行所述内存释放指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(成都)有限公司,未经腾讯科技(成都)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010125124.8/1.html,转载请声明来源钻瓜专利网。