[发明专利]内存数据处理方法、装置和电子设备有效
申请号: | 202110739696.X | 申请日: | 2021-06-30 |
公开(公告)号: | CN113326171B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 杨丽娜 | 申请(专利权)人: | 展讯通信(天津)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/50 |
代理公司: | 北京汇思诚业知识产权代理有限公司 11444 | 代理人: | 焦志刚 |
地址: | 300450 天津市滨海新区自贸*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 数据处理 方法 装置 电子设备 | ||
本申请实施例提供一种内存数据处理方法、装置和电子设备,涉及内存技术领域,可以通过自动扫描的方式来查找异常内存块,从而提高了查找异常内存块的效率。内存数据处理方法,包括:遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据,所述P状态数据用于指示前内存块是否处于使用当中,所述C状态数据用于指示当前内存块是否处于使用当中;确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件,若是,则确定当前内存块正常,若否,则确定当前内存块异常。
技术领域
本申请涉及内存技术领域,特别涉及一种内存数据处理方法、装置和电子设备。
背景技术
目前电子设备中的程序进程使用dlmalloc内存分配器分配的内存运行时,会遇到进程因为内存类问题而发生本地崩溃native crash,导致进程退出的问题,这种情况下需要对进程的内存进行分析,然而,进程的内存空间很大,导致依赖人工查找异常内存块的方法效率较低。
发明内容
一种内存数据处理方法、装置、电子设备和存储介质,可以通过自动扫描的方式来查找异常内存块,从而提高了查找异常内存块的效率。
第一方面,提供一种内存数据处理方法,包括:
遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据,所述P状态数据用于指示前内存块是否处于使用当中,所述C状态数据用于指示当前内存块是否处于使用当中;
确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件,若是,则确定当前内存块正常,若否,则确定当前内存块异常。
在一种可能的实施方式中,所述遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据的过程包括:
若内存块对应的P状态数据为1,且C状态数据为1,则获取内存块对应的块大小、P状态数据和C状态数据,1表示内存块处于使用当中,0表示内存块空闲;
若内存块对应的P状态数据为0,且C状态数据为1,则获取内存块对应的块大小、P状态数据、C状态数据以及pre_foot数据,所述pre_foot数据表示前块的块大小;
所述确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件的过程包括:
若内存块对应的P状态数据为1,且C状态数据为1,则确定内存块对应的块大小、P状态数据和C状态数据是否满足预设条件;
若内存块对应的P状态数据为0,且C状态数据为1,则确定内存块对应的块大小、P状态数据、C状态数据以及pre_foot数据是否满足预设条件。
在一种可能的实施方式中,所述遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据的过程还包括:
若内存块对应的P状态数据为1,且C状态数据为0,则获取内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针,所述fd指针用于指向链表中的前一个空闲内存块,所述bk指针用于指向链表中的后一个空闲内存块;
所述确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件的过程还包括:
若内存块对应的P状态数据为1,且C状态数据为0,则确定内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针是否满足预设条件。
在一种可能的实施方式中,所述若内存块对应的P状态数据为1,且C状态数据为0,则获取内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针的过程包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(天津)有限公司,未经展讯通信(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110739696.X/2.html,转载请声明来源钻瓜专利网。