基于字节码插桩技术的应用程序故障诊断方法和装置制造方法及图纸

技术编号:28978109 阅读:15 留言:0更新日期:2021-06-23 09:23
本公开提供了基于字节码插桩技术的应用程序故障诊断方法,包括:在应用程序的运行过程中,获取一级容器对应的界面的运行结果和一级容器中的二级容器的基础信息,所述基础信息包括二级容器的名称、方法的类、方法类型、方法的输入参数信息和方法的输出参数信息;响应于当前一级容器对应的界面发生故障,将所述当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息;将所述故障报警信息上报至后台服务器。以此方式,能够提升应用程序页面的获取粒度,有效降低应用程序故障分析和修复周期,节约人力成本和时间成本,提高用户体验。

【技术实现步骤摘要】
基于字节码插桩技术的应用程序故障诊断方法和装置
本公开的实施例一般涉及互联网
,并且更具体地,涉及基于字节码插桩技术的应用程序故障诊断方法和装置。
技术介绍
随着智能终端的日益普及、网络宽带化的高速发展,以移动应用与服务不断丰富为标志的移动互联网时代为人们带来了更便捷与智能的数字生活。在这种大环境下,线上商城应用而生,用户可有通过线上商城应用程序(移动APP)购买物品。在用户使用应用程序中,难以避免的会存在一些故障,例如卡顿、程序崩溃等。现有技术中,当应用程序发生故障时,通常是由开发人员程序的行为日志进行分析,进而确定应用程序发生故障的原因,在确定应用程序的故障原因后,对应用程序的代码进行修改。现有技术中开发人员分析的行为日志是针对应用程序的页面进行的,粒度较大,造成的分析周期较长,精度低,造成了人力成本和时间成本的浪费,同时由于故障分析和修复周期较长,影响了用户体验。
技术实现思路
根据本公开的实施例,提供了一种能够有效降低应用程序故障分析和修复周期,节约人力成本和时间成本,提高用户体验的基于字节码插桩技术的应用程序故障诊断方案。在本公开的第一方面,提供了一种基于字节码插桩技术的应用程序故障诊断方法,包括:在应用程序的运行过程中,获取一级容器对应的界面的运行结果和一级容器中的二级容器的基础信息,所述基础信息包括二级容器的名称、方法的类、方法类型、方法的输入参数信息和方法的输出参数信息;响应于当前一级容器对应的界面发生故障,将所述当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息;将所述故障报警信息上报至后台服务器。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获取一级容器对应界面的运行结果和一级容器中的二级容器的基础信息,包括:基于字节码插桩技术对所述应用程序的底层代码进行修改,并在所述应用程序的运行过程中,获取一级容器对应界面的运行结果和一级容器中的二级容器的基础信息。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述响应于当前一级容器对应的界面发生故障,将当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息之后,所述方法还包括:获取故障信息,将所述故障信息与预设故障类型进行匹配,确定所述故障信息对应的故障类型。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述预设故障类型包括应用程序崩溃,和/或,应用程序页面性能下降,和/或,应用程序网络错误。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述将当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息,包括:获取后台的行为日志,基于所述行为日志确定所述故障信息,将当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述生成故障报警信息,包括:获取当前一级容器中的二级容器的名称及运行日志,将当前一级容器对应的界面的名称和故障信息关联,以及添加各二级容器的名称和对应的运行日志后,生成故障报警信息。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述生成故障报警信息后,还包括:获取当前时间点信息,根据所述当前时间点信息将所述故障报警信息添加到故障信息列表中。在本公开的第二方面,提供了一种基于字节码插桩技术的应用程序故障诊断装置,包括:信息获取模块,用于在应用程序的运行过程中,获取一级容器对应的界面的运行结果和一级容器中的二级容器的基础信息,所述基础信息包括二级容器的名称、方法的类、方法类型、方法的输入参数信息和方法的输出参数信息;故障报警信息生成模块,用于响应于当前一级容器对应的界面发生故障,将所述当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息;故障报警信息上报模块,用于将所述故障报警信息上报至后台服务器。在本公开的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。通过本公开的基于字节码插桩技术的应用程序故障诊断方法,通过提升应用程序页面的获取粒度,有效降低应用程序故障分析和修复周期,节约人力成本和时间成本,提高用户体验。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本公开实施例一的基于字节码插桩技术的应用程序故障诊断方法的流程图;图2示出了本公开实施例二的基于字节码插桩技术的应用程序故障诊断方法的流程图;图3示出了本公开实施例三的基于字节码插桩技术的应用程序故障诊断装置的功能结构示意图;图4示出了本公开实施例四的基于字节码插桩技术的应用程序故障诊断设备的结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。本公开实施例的基于字节码插桩技术的应用程序故障诊断方法,通过在应用程序开发前期,利用字节码插桩技术在底层代码中插入监听字节码,使得在应用程序运行的过程中能够输出类参数,或者对已有应用程序的底层代码进行修改,利用字节码插桩技术插入监听字节码,使得在应用程序运行的过程中能够输出类参数,相对于现有技术中的应用程序在运行过程中只能够输出活动页面(Activity)的类参数而言,本公开实施例的方法可以输出活动页面中元素(Fragment)的类参数,从而提升应用程序页面的获取粒度,当应用程序发生故障时,通过上报细粒度的故障信息能够有效降低应用程序故障分析和修复周期,节约人力成本和时间成本,提高用户体验。字节码插桩技术即通过某种策略将一段代码插入到另一段代码中,或替换另一段代码。本公开利用字节码插桩技术对应用程序的代码进行修改,使得能够输出二级容器(即活动页面中元素)的类参数(包括名称等),从而提升应用程序页面的获取粒度。具体地本文档来自技高网
...

【技术保护点】
1.一种基于字节码插桩技术的应用程序故障诊断方法,其特征在于,包括:/n在应用程序的运行过程中,获取一级容器对应的界面的运行结果和一级容器中的二级容器的基础信息,所述基础信息包括二级容器的名称、方法的类、方法类型、方法的输入参数信息和方法的输出参数信息;/n响应于当前一级容器对应的界面发生故障,将所述当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息;/n将所述故障报警信息上报至后台服务器。/n

【技术特征摘要】
1.一种基于字节码插桩技术的应用程序故障诊断方法,其特征在于,包括:
在应用程序的运行过程中,获取一级容器对应的界面的运行结果和一级容器中的二级容器的基础信息,所述基础信息包括二级容器的名称、方法的类、方法类型、方法的输入参数信息和方法的输出参数信息;
响应于当前一级容器对应的界面发生故障,将所述当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息;
将所述故障报警信息上报至后台服务器。


2.根据权利要求1所述的基于字节码插桩技术的应用程序故障诊断方法,其特征在于,所述获取一级容器对应界面的运行结果和一级容器中的二级容器的基础信息,包括:
基于字节码插桩技术对所述应用程序的底层代码进行修改,并在所述应用程序的运行过程中,获取一级容器对应界面的运行结果和一级容器中的二级容器的基础信息。


3.根据权利要求2所述的基于字节码插桩技术的应用程序故障诊断方法,其特征在于,在所述响应于当前一级容器对应的界面发生故障,将当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息之后,所述方法还包括:
获取故障信息,将所述故障信息与预设故障类型进行匹配,确定所述故障信息对应的故障类型。


4.根据权利要求3所述的基于字节码插桩技术的应用程序故障诊断方法,其特征在于,所述预设故障类型包括应用程序崩溃,和/或,应用程序页面性能下降,和/或,应用程序网络错误。


5.根据权利要求4所述的基于字节码插桩技术的应用程序故障诊断方法,其特征在于,所述将当前一级容器中的二级容器的基础信息和故障信息关联,生成故障报警信息,包括:
获取后台的行...

【专利技术属性】
技术研发人员:赵欢欢
申请(专利权)人:北京每日优鲜电子商务有限公司
类型:发明
国别省市:北京;11

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

1