【技术实现步骤摘要】
内存数据处理方法、装置和电子设备
本申请涉及内存
,特别涉及一种内存数据处理方法、装置和电子设备。
技术介绍
目前电子设备中的程序进程使用dlmalloc内存分配器分配的内存运行时,会遇到进程因为内存类问题而发生本地崩溃nativecrash,导致进程退出的问题,这种情况下需要对进程的内存进行分析,然而,进程的内存空间很大,导致依赖人工查找异常内存块的方法效率较低。
技术实现思路
一种内存数据处理方法、装置、电子设备和存储介质,可以通过自动扫描的方式来查找异常内存块,从而提高了查找异常内存块的效率。第一方面,提供一种内存数据处理方法,包括:遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据,所述P状态数据用于指示前内存块是否处于使用当中,所述C状态数据用于指示当前内存块是否处于使用当中;确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件,若是,则确定当前内存块正常,若否,则确定当前内存块异常。在一种可能的实施方式中 ...
【技术保护点】
1.一种内存数据处理方法,其特征在于,包括:/n遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据,所述P状态数据用于指示前内存块是否处于使用当中,所述C状态数据用于指示当前内存块是否处于使用当中;/n确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件,若是,则确定当前内存块正常,若否,则确定当前内存块异常。/n
【技术特征摘要】
1.一种内存数据处理方法,其特征在于,包括:
遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据,所述P状态数据用于指示前内存块是否处于使用当中,所述C状态数据用于指示当前内存块是否处于使用当中;
确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件,若是,则确定当前内存块正常,若否,则确定当前内存块异常。
2.根据权利要求1所述的内存数据处理方法,其特征在于,
所述遍历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数据是否满足预设条件。
3.根据权利要求2所述的内存数据处理方法,其特征在于,
所述遍历chunk结构内存数据中的内存块,获取每个内存块对应的块大小、P状态数据和C状态数据的过程还包括:
若内存块对应的P状态数据为1,且C状态数据为0,则获取内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针,所述fd指针用于指向链表中的前一个空闲内存块,所述bk指针用于指向链表中的后一个空闲内存块;
所述确定每个内存块对应的块大小、P状态数据和C状态数据是否满足预设条件的过程还包括:
若内存块对应的P状态数据为1,且C状态数据为0,则确定内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针是否满足预设条件。
4.根据权利要求3所述的内存数据处理方法,其特征在于,
所述若内存块对应的P状态数据为1,且C状态数据为0,则获取内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针的过程包括:
若内存块对应的P状态数据为1,且C状态数据为0,则获取内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针以及下标index,所述下标index为内存块所在分箱的编号;
所述若内存块对应的P状态数据为1,且C状态数据为0,则确定内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针是否满足预设条件的过程包括:
若内存块对应的P状态数据为1,且C状态数据为0,则确定内存块对应的块大小、P状态数据、C状态数据、fd指针和bk指针以及下标index是否满足预设条件。
5.一种内存数据处理装置,其特征在于,包括:
遍历模块,用于遍历chunk结构内存数据中的内存块,获取每个内存块对应...
【专利技术属性】
技术研发人员:杨丽娜,
申请(专利权)人:展讯通信天津有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。