[发明专利]数据处理方法、装置、电子设备及存储介质在审
申请号: | 201910635790.3 | 申请日: | 2019-07-15 |
公开(公告)号: | CN112231520A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 刘竞屏;王力堂 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F16/84 | 分类号: | G06F16/84;G06F16/835;G06F16/2455 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 电子设备 存储 介质 | ||
本公开关于一种数据处理方法、装置、电子设备及存储介质,其中,该方法包括:在应用程序发生异常时,获取所述应用程序发生异常时的第一调用栈;从文件数据库中获取所述应用程序的原始代码与混淆后代码之间的映射关系;根据所述映射关系对所述第一调用栈进行符号化解析,得到符号化解析后的第二调用栈;显示所述第二调用栈。因此,本公开中开发人员可以不需要进行任何特殊操作就可以看到符号化解析后的调用栈,并能够及时、方便、高效地分析调用栈并解决用户的问题,从而提高了符号化解析的效率。
技术领域
本公开涉及计算机领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。虽然代码混淆是开发者经常用来防止应用程序(Application,APP)被反编译之后迅速被分析的常见手法,但是代码混淆也会带来一些问题,实际场景下应用程序产生的调用栈代码都是一些难以阅读的符号,这样开发人员分析和调查一些程序问题将会非常困难,因此符号化解析工具可以极大地提高开发人员的工作效率。
相关技术中,目前使用比较广泛的一种符号化解析方案是已开放的Bugly服务,Bugly获取到用户使用应用程序过程中发生的异常调用栈,并进行汇总展示,这样开发人员可以借此分析和解决问题。
但是,上述Bugly展示的调用栈是混淆后的代码,难以阅读,还需要开发人员手动上传映射(mapping)文件,从而导致操作繁琐、性能和效率较差。
发明内容
本公开提供一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中操作繁琐、性能和效率较差的问题。本公开的技术方法如下:
根据本公开实施例的第一方面,提供一种数据处理方法,包括:在应用程序发生异常时,获取所述应用程序发生异常时的第一调用栈;从文件数据库中获取所述应用程序的原始代码与混淆后代码之间的映射关系;根据所述映射关系对所述第一调用栈进行符号化解析,得到符号化解析后的第二调用栈;显示所述第二调用栈。
在一可能的实现方式中,还包括:
在发布应用程序时,保存对应版本的映射文件,所述映射文件中包括所述应用程序的原始代码与混淆后代码之间的映射关系;
对所述映射文件进行解析,得到所述映射关系;
将所述映射关系存储于所述文件数据库中。
在一可能的实现方式中,所述映射关系中包括所述原始代码的类名与所述混淆后代码的类名之间的第一映射信息;和/或所述原始代码的方法名及行号、与所述混淆后代码的方法名及行号之间的第二映射信息;和/或所述原始代码的字段名与所述混淆后代码的字段名之间的第三映射信息。
在一可能的实现方式中,所述保存对应版本的映射文件,包括:
将所述映射文件保存至文件服务器,所述文件服务器用于保存所述应用程序的所有版本的映射文件。
在一可能的实现方式中,所述对所述映射文件进行解析,得到所述映射关系,包括:
按照正则匹配的方式从所述映射文件中获取所述原始代码与所述混淆后代码之间的映射关系。
在一可能的实现方式中,所述根据所述映射关系对所述第一调用栈进行符号化解析,得到符号化解析后的第二调用栈,包括:
判断所述第一调用栈是否被符号化解析过;
若是,则从栈数据库中获取所述第二调用栈;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910635790.3/2.html,转载请声明来源钻瓜专利网。