【技术实现步骤摘要】
内存数据转储及构建方法、装置、电子设备及存储介质
本公开的实施例涉及一种内存数据转储方法及装置、内存数据构建方法及装置、电子设备及存储介质。
技术介绍
在软件自动化测试或应用程序调试过程中,通常需要将内存中的数据转储到存储设备中,以便相关技术人员事后进行问题定位。内存转储所生成的内存转储文件又称为内存镜像,该内存转储文件记录了内存中的数据,可以用于内存数据重建。
技术实现思路
本公开至少一个实施例提供一种内存数据转储方法,包括:获取内存中的多个缓冲区存储的数据,其中,所述多个缓冲区至少包括第一缓冲区和第二缓冲区,所述第一缓冲区存储有指向所述第二缓冲区的第一指针;基于所述数据建立多个对象结构,其中,所述多个对象结构至少包括第一对象结构和第二对象结构,所述第一对象结构表示所述第一缓冲区中存储的第一数据,所述第二对象结构表示所述第二缓冲区中存储的第二数据;根据所述第一指针表示的引用关系,将所述第二对象结构嵌套在所述第一对象结构中,以得到目标对象结构,从而用于生成内存转储文件;其中,所述目标对象结构包括第一嵌套字 ...
【技术保护点】
1.一种内存数据转储方法,包括:/n获取内存中的多个缓冲区存储的数据,其中,所述多个缓冲区至少包括第一缓冲区和第二缓冲区,所述第一缓冲区存储有指向所述第二缓冲区的第一指针;/n基于所述数据建立多个对象结构,其中,所述多个对象结构至少包括第一对象结构和第二对象结构,所述第一对象结构表示所述第一缓冲区中存储的第一数据,所述第二对象结构表示所述第二缓冲区中存储的第二数据;/n根据所述第一指针表示的引用关系,将所述第二对象结构嵌套在所述第一对象结构中,以得到目标对象结构,从而用于生成内存转储文件;/n其中,所述目标对象结构包括第一嵌套字段,所述第一嵌套字段表示所述第一指针,所述第一 ...
【技术特征摘要】
1.一种内存数据转储方法,包括:
获取内存中的多个缓冲区存储的数据,其中,所述多个缓冲区至少包括第一缓冲区和第二缓冲区,所述第一缓冲区存储有指向所述第二缓冲区的第一指针;
基于所述数据建立多个对象结构,其中,所述多个对象结构至少包括第一对象结构和第二对象结构,所述第一对象结构表示所述第一缓冲区中存储的第一数据,所述第二对象结构表示所述第二缓冲区中存储的第二数据;
根据所述第一指针表示的引用关系,将所述第二对象结构嵌套在所述第一对象结构中,以得到目标对象结构,从而用于生成内存转储文件;
其中,所述目标对象结构包括第一嵌套字段,所述第一嵌套字段表示所述第一指针,所述第一嵌套字段的数据格式及数据内容与所述第二对象结构的数据格式及数据内容相同。
2.根据权利要求1所述的方法,其中,所述第二对象结构采用第一数据格式,所述第一数据格式基于扩展JSON格式得到。
3.根据权利要求2所述的方法,其中,所述第一数据格式包括类型元素和实体元素,
所述类型元素至少包括对象地址、对象标识和地址宽度,所述对象地址表示所述第一数据格式所属的对象结构所对应的缓冲区的地址,所述对象标识表示所述第一数据格式所属的对象结构的识别号,所述地址宽度表示所述对象地址的宽度,
所述实体元素包括所述对象地址所指向的缓冲区中存储的数据。
4.根据权利要求3所述的方法,其中,所述多个缓冲区还包括第三缓冲区,所述第二缓冲区存储有指向所述第三缓冲区的第二指针,所述多个对象结构还包括第三对象结构,所述第三对象结构表示所述第三缓冲区中存储的第三数据;
所述方法还包括:
根据所述第二指针表示的引用关系,将所述第三对象结构嵌套在所述第二对象结构中,以更新所述第二对象结构;
其中,所述目标对象结构还包括第二嵌套字段,所述第二嵌套字段表示所述第二指针,所述第二嵌套字段的数据格式及数据内容与所述第三对象结构的数据格式及数据内容相同;
其中,所述实体元素表示为数组的形式,所述第三对象结构的数据格式与所述第一数据格式相同。
5.根据权利要求3所述的方法,其中,所述第一数据格式以“名称字段:值字段”的形式表示,
所述名称字段包括所述对象地址、所述对象标识和所述地址宽度,所述对象地址以“对象地址名称:对象地址字面量”的形式表示,所述对象标识以“对象标识名称:对象标识字面量”的形式表示,所述地址宽度以“地址宽度名称:地址宽度字面量”的形式表示,
所述值字段包括所述实体元素所组成的数组。
6.根据权利要求3所述的方法,其中,所述第一数据格式以多个基本字段的形式表示,所述多个基本字段分别表示所述对象地址、所述对象标识、所述地址宽度以及所述实体元素,每个基本字段均以“名称:值”的形式表示。
7.根据权利要求3所述的方法,其中,所述目标对象结构还包括引用嵌套字段,当所述第一指针所表示的引用关系在所述目标对象结构中再次出现时,以所述引用嵌套字段表示所述第一指针,所述引用嵌套字段采用第二数据格式,
其中,所述第二数据格式包括引用标识元素和内容元素,所述引用标识元素包括预设字符串,所述内容元素与所述第一数据格式中的类型元素相同。
8.根据权利要求4所述的方法,其中,所述数组以字面量的形式记录在所述第一数据格式中。
9.根据权利要求4所述的方法,其中,所述数组以二进制文件的形式链接在所述第一数据格式中。
10.根据权利要求1-9任一所述的方法,还包括:
对所述目标对象结构进行串行化处理,以生成所述内存转储文件。
11.一种内存数据构建方法,包括:
由内存转储文件得到目标对象结构,并为所述目标对象结构分配第一缓冲区,其中,所述目标对象结构包括第一嵌套字段,所述第一嵌套字段表示第一指针;
基于所述目标对象结构得到第一对象结构,在所述第一缓冲区中构建对应于所述第一对象结构的第一数据,并且为所述第一嵌套字段分配第二缓冲区...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:北京壁仞科技开发有限公司,上海壁仞智能科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。