System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开属于内存快照,尤其涉及一种数据处理方法、装置、电子设备及计算机介质。
技术介绍
1、当线程发生崩溃时,通常将目标线程对应的所有虚拟内存块数据进行保存,以生成一个内存快照(也称为coredump)文件,然后对该coredump文件进行分析,还原目标线程的崩溃现场,进而定位出崩溃原因。然而,在某些场景下(如较多程序发生崩溃),会产生多个coredump文件,这些文件占用大量存储空间,可能会造成系统磁盘存储空间不足,另外,在生成coredump文件过程中,需要为所有虚拟内存块分配物理内存,会消耗系统大量内存资源,从而造成系统内存不足。
技术实现思路
1、本公开实施例提供一种与相关技术不同的实现方案,以解决相关技术中线程发生崩溃生成的内存快照文件占用的系统存储空间较大,内存资源消耗较多的技术问题。
2、第一方面,本公开提供一种数据处理方法,包括:
3、当检测到目标线程发生崩溃时,获取所述目标线程对应的寄存器信息和所述目标线程占用的多个虚拟内存块,所述寄存器信息包括:表征目标线程当前所执行的目标指令发生崩溃处的第一地址信息、表征所述目标线程发生崩溃处对应的调用函数返回地址的第二地址信息、表征所述目标线程的栈帧起始地址的第三地址信息,以及表征所述目标线程的堆栈栈顶地址的第四地址信息;
4、根据所述第一地址信息、所述第二地址信息、第三地址信息和所述第四地址信息,自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,所述目标虚拟内存块用于表征所述目
5、根据所述目标虚拟内存块生成所述目标线程对应的目标文件,所述目标文件用于对所述目标线程进行崩溃分析。
6、第二方面,本公开提供一种数据处理装置,包括:
7、获取单元,用于当检测到目标线程发生崩溃时,获取所述目标线程对应的寄存器信息和所述目标线程占用的多个虚拟内存块,所述寄存器信息包括:表征目标线程当前所执行的目标指令发生崩溃处的第一地址信息、表征所述目标线程发生崩溃处对应的调用函数返回地址的第二地址信息、表征所述目标线程的栈帧起始地址的第三地址信息,以及表征所述目标线程的堆栈栈顶地址的第四地址信息;
8、确定单元,用于根据所述第一地址信息、所述第二地址信息、第三地址信息和所述第四地址信息,自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,所述目标虚拟内存块用于表征所述目标线程在运行过程中实际访问的虚拟地址空间;
9、生成单元,用于根据所述目标虚拟内存块生成所述目标线程对应的目标文件,所述目标文件用于对所述目标线程进行崩溃分析。
10、第三方面,本公开提供一种电子设备,包括:
11、处理器;以及
12、存储器,用于存储所述处理器的可执行指令;
13、其中,所述处理器配置为经由执行所述可执行指令来执行第一方面、第一方面各可能的实施方式中的任一方法。
14、第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面、第一方面各可能的实施方式中的任一方法。
15、本公开提供的当检测到目标线程发生崩溃时,获取所述目标线程对应的寄存器信息和所述目标线程占用的多个虚拟内存块,所述寄存器信息包括:表征目标线程当前所执行的目标指令发生崩溃处的第一地址信息、表征所述目标线程发生崩溃处对应的调用函数返回地址的第二地址信息、表征所述目标线程的栈帧起始地址的第三地址信息,以及表征所述目标线程的堆栈栈顶地址的第四地址信息;根据所述第一地址信息、所述第二地址信息、第三地址信息和所述第四地址信息,自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,所述目标虚拟内存块用于表征所述目标线程在运行过程中实际访问的虚拟地址空间;根据所述目标虚拟内存块生成所述目标线程对应的目标文件,所述目标文件用于对所述目标线程进行崩溃分析的方案,利用目标线程对应的寄存器信息确定出目标线程运行过程中实际访问到的目标虚拟内存块,进而仅根据目标虚拟内存块生成的目标文件(即内存快照文件),以对所述目标线程进行故障分析,而无需为所有虚拟内存块生成内存快照文件,减少了生成目标文件过程对内存资源的消耗,从而提升了系统运行的稳定性,同时降低了生成的内存快照文件对磁盘空间的占用,进而降低了由于磁盘存储空间不足造成系统异常情况发生的概率。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一地址信息、所述第二地址信息、第三地址信息和所述第四地址信息,自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述第三地址信息和所述第四地址信息自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,包括:
4.根据权利要求1所述的方法,其特征在于,根据所述目标虚拟内存块生成所述目标线程对应的目标文件,包括:
5.根据权利要求4所述的方法,其特征在于,根据所述目标虚拟内存块确定对应的目标数据,包括:
6.根据权利要求5所述的方法,其特征在于,根据所述多个虚拟内存页确定目标地址范围,包括:
7.根据权利要求4所述的方法,其特征在于,根据所述目标虚拟内存块确定对应的目标数据,还包括:
8.一种数据处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序
...【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一地址信息、所述第二地址信息、第三地址信息和所述第四地址信息,自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述第三地址信息和所述第四地址信息自所述多个虚拟内存块中确定出所述目标线程对应的目标虚拟内存块,包括:
4.根据权利要求1所述的方法,其特征在于,根据所述目标虚拟内存块生成所述目标线程对应的目标文件,包括:
5.根据...
【专利技术属性】
技术研发人员:詹小奇,
申请(专利权)人:北京字跳网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。