一种数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32215143 阅读:23 留言:0更新日期:2022-02-09 17:20
本发明专利技术提供了一种数据处理方法、装置、电子设备及存储介质。通过本申请,在确定崩溃相关的指令所属的函数的函数名时,可以不使用应用程序的符号表,脱离了对应用程序的符号表的依赖,也不受应用程序的UUID的影响,如此可以提高本方案的适用范围。另外,symbolicatecrash工具需要依赖MAC OS的运行环境,而本申请的方案可以不使用symbolicatecrash工具,从而可以避免受MAC OS的运行环境的局限,本申请的方案除了可以应用在MAC OS的运行环境中,还可以运行在Linux的运行环境以及Winows的运行环境中等,从而可以提高本方案的适用范围等。提高本方案的适用范围等。提高本方案的适用范围等。

【技术实现步骤摘要】
一种数据处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

技术介绍

[0002]随着技术的飞速发展,越来越多的用户在手机上安装应用程序并使用。应用程序在手机上运行的过程中有时候会崩溃(例如闪退等),为了避免之后再次出现崩溃,可以对应用程序中的引起崩溃的源代码进行修改,以对应用程序优化。
[0003]为了使得开发人员能够对引起崩溃的源代码进行修改,则首先需要在应用程序的源代码中定位出引起崩溃的源代码。
[0004]在一个方式中,可以使用symbolicatecrash工具结合应用程序的符号表解析应用程序崩溃时产生的崩溃日志,以定位出应用程序中的引起崩溃的指令所在的函数。
[0005]然而,专利技术人发现,在上述方式中,解析崩溃时产生的崩溃日志时需要使用到应用程序的符号表,如果应用程序的符号表已经从应用程序中剥离,则会无法获取到应用程序的符号表,进而就无法定位出应用程序中的引起崩溃的指令所在的函数,增加了开发人员解决崩溃问题的难度。
专本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:在应用程序运行的过程中崩溃的情况下,获取崩溃相关的指令在应用程序中的指令起始地址;根据应用程序中的代码段中的类地址字段中记录的内容,获取应用程序包括的类中的至少部分类的类信息的存储结构分别在应用程序中的类起始地址;对于至少部分类中的任意一个类,确定在所述代码段中的类信息字段中的所述类的类信息的存储结构,根据所述类的类信息的存储结构、所述类的类信息的存储结构在应用程序中的类起始地址以及类信息字段中记录的内容,获取所述类中的各个函数分别在应用程序中的函数地址区间;在获取的函数地址区间中筛选崩溃相关的指令在应用程序中的指令起始地址所在的目标函数地址区间;根据所述目标函数地址区间输出所述崩溃相关的指令所属的函数的函数名。2.根据权利要求1所述的方法,其特征在于,所述根据所述类的类信息的存储结构、所述类的类信息的存储结构在应用程序中的类起始地址以及类信息字段中记录的内容,获取所述类中的各个函数分别在应用程序中的函数地址区间,包括:根据所述类的类信息的存储结构以及所述类的类信息的存储结构在应用程序中的类起始地址,在类信息字段中记录的内容中,获取所述类中的各个函数分别在应用程序中的函数起始地址;根据所述类中的各个函数分别在应用程序中的函数起始地址以及代码段中的函数指令段中记录的内容,获取所述类中的各个函数分别在应用程序中的函数地址区间。3.根据权利要求2所述的方法,其特征在于,所述根据所述类的类信息的存储结构以及所述类的类信息的存储结构在应用程序中的类起始地址,在类信息字段中记录的内容中,获取所述类中的各个函数分别在应用程序中的函数起始地址,包括:根据所述类的类信息的存储结构以及所述类的类信息的存储结构在应用程序中的类起始地址,在类信息字段中记录的内容中,确定所述类中包括的函数的数量;根据所述类的类信息的存储结构、所述类的类信息的存储结构在应用程序中的类起始地址以及所述数量,在类信息字段中记录的内容中,获取所述类中的各个函数分别在应用程序中的函数起始地址。4.根据权利要求3所述的方法,其特征在于,所述根据所述类的类信息的存储结构以及所述类的类信息的存储结构在应用程序中的类起始地址,在类信息字段中记录的内容中,确定所述类中包括的函数的数量,包括:根据所述类的类信息的存储结构以及所述类的类信息的存储结构在应用程序中的类起始地址,在类信息字段中记录的内容中,确定所述类的类信息的存储结构中的数量字符串,数量字符串用于指示所述类中包括的函数的数量;根据所述数量字符串确定所述类中包括的函数的数量。5.根据权利要求3所述的方法,其特征在于,所述根据所述类的类信息的存储结构、所述类的类信息的存储结构在应用程序中的类起始地址以及所述数量,在类信息字段中记录的内容中,获取所述类中的各个函数分别在应用程序中的函数起始地址,包括:根据所述类的类信息的存储结构、所述类的类信息的存储结构在应用程序中的类起始
地址以及所述数量,在类信息字段中记录的内容中,分别确定所述类中的各个函数的地址字符串,函数的地址字符串用于指示函数在应用程序中的函数起始地址;根据各个函数的地址字符串分别确定各个函数分别在应用程序中的函数起始地址。6.根据权利要求2所述的方法,其特征在于,所述根据所述类中的各个函数分别在应用程序中的函数起始地址以及代码段中的函数指令段中记录的内容,获取所述类中的各个函数分别在应用程序中的函数地址区间,包括:对于所述类中的任意一个函数,可以根据所述函数在应用程序中的函数起始地址以及代码段中的函数指令段中记录的内容,确定所述函数中包括的各个指令所占的空间大小;根据所述函数在应用程序中的函数起始地址以及所述函数中包括的各个指令所占的空间大小,获取所述函数在应用程序中的函数结束地址;根据所述函数起始地址以及所述函数结束地址获取所述函数在应用程序中的函数地址区间。7.根据权利要求1所述的方法,其特征在于,所述根据应用程序中的代码段中的类地址字段中记录的内容,获取应用程序包括的类中的至少部分类的类信息的存储结构分别在应用程序中的类起始地址,包括:获取类地址字段在应用程序中的段起始地址,以及,确定类地址字段的存储结构;根据类地址字段的存储结构以及所述段起始地址,在类地址字段中记录的内容中,获取应用程序中的类中的至少部分类中的各个类的类信息的存储结构的偏移量,任意一个类的类信息的存储结构的偏移量包括:所述类的类信息的存储结构在应用程序中的类起始地址与位于所述类之前且与所述类相邻的类的存储结构在应用程序中的类起始地址之间的距离;根据所述段起始地址以及至少部分类中的各个类的类信息的存储结构的偏移量,分别获取...

【专利技术属性】
技术研发人员:朴惠姝彭飞邓竹立
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1