一种异常定位方法、装置和电子设备制造方法及图纸

技术编号:37503424 阅读:35 留言:0更新日期:2023-05-07 09:39
本发明专利技术实施例提供了一种异常定位方法、装置和电子设备,在应用程序中插入预设插桩代码,其中,所述方法包括:在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息;在所述应用程序出现异常时获取所述应用程序的崩溃堆栈信息;基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位。本发明专利技术实施例基于在应用程序中预设插桩代码来记录函数运行轨迹信息,并且在应用程序异常时获取应用程序的崩溃堆栈信息,结合函数运行轨迹信息和崩溃堆栈信息可以对应用程序精确进行异常定位,进而可以根据异常定位的结果解决应用程序的异常问题。解决应用程序的异常问题。解决应用程序的异常问题。

【技术实现步骤摘要】
一种异常定位方法、装置和电子设备


[0001]本专利技术实施例涉及互联网
,特别是涉及一种异常定位方法、装置和电子设备。

技术介绍

[0002]在应用程序在运行过程中,有时候会出现一些异常的情况,例如程序崩溃,或者出现卡顿,或者无响应等等,影响用户体验,甚至影响应用程序的正常运行,因此开发人员需要对应用程序进行异常信息采样,以对应用程序进行异常定位,进而解决应用程序程序的异常问题。
[0003]在应用程序程序崩溃时,通常系统会输出当前的崩溃堆栈信息,在崩溃堆栈信息中包含了崩溃时各种环境信息,然而,仅基于崩溃堆栈信息难以对应用程序精确进行异常定位。

技术实现思路

[0004]本专利技术实施例提供一种异常定位方法,以对应用程序精确进行异常定位,以解决应用程序的异常问题。
[0005]相应的,本专利技术实施例还提供了一种异常定位装置和一种电子设备,用以保证上述方法的实现及应用。
[0006]为了解决上述问题,本专利技术实施例公开了一种异常定位方法,在应用程序中插入预设插桩代码,具体包括:
[0007]在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息;
[0008]在所述应用程序出现异常时获取所述应用程序的崩溃堆栈信息;
[0009]基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位。
[0010]可选地,所述函数运行轨迹信息至少包括所述应用程序的函数标识、函数运行时间以及函数引用关系;所述崩溃堆栈信息包括环境信息。<br/>[0011]可选地,还包括:获取所述应用程序的字节码文件;扫描所述字节码文件的函数,确定所述字节码文件的插桩位置;在所述字节码文件中的所述插桩位置处插入预设插桩代码。
[0012]可选地,所述在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息,包括:在所述应用程序运行至所述的所述插桩位置时,基于所述插桩位置对应的所述预设插桩代码记录所述应用程序中的函数的函数运行轨迹信息。
[0013]可选地,所述基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位,包括:从所述函数运行轨迹信息中确定获取所述崩溃堆栈信息时关联的目标函数运行轨迹信息;将所述应用程序中所述目标函数运行轨迹信息对应的位置,定位为所述应用程序出现异常的位置。
[0014]可选地,所述基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进
行异常定位,包括:将所所述函数运行轨迹信息和所述崩溃堆栈信息上报至日志分析平台,以通过所述日志分析平台对所述应用程序进行异常定位。
[0015]本专利技术实施例还公开了一种异常定位装置,在应用程序中插入预设插桩代码,所述装置包括:
[0016]轨迹信息获取模块,用于在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息;
[0017]堆栈信息获取模块,用于在所述应用程序出现异常时获取所述应用程序的崩溃堆栈信息;
[0018]异常定位模块,用于基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位。
[0019]可选地,所述函数运行轨迹信息至少包括所述应用程序的函数标识、函数运行时间以及函数引用关系;所述崩溃堆栈信息包括环境信息。
[0020]可选地,所述装置还包括:程序插桩模块,用于获取所述应用程序的字节码文件;扫描所述字节码文件的函数,确定所述字节码文件的插桩位置;在所述字节码文件中的所述插桩位置处插入预设插桩代码。
[0021]可选地,所述轨迹信息获取模块,用于在所述应用程序运行至所述的所述插桩位置时,基于所述插桩位置对应的所述预设插桩代码记录所述应用程序中的函数的函数运行轨迹信息。
[0022]可选地,所述异常定位模块,用于从所述函数运行轨迹信息中确定获取所述崩溃堆栈信息时关联的目标函数运行轨迹信息;将所述应用程序中所述目标函数运行轨迹信息对应的位置,定位为所述应用程序出现异常的位置。
[0023]可选地,所述异常定位模块,用于将所所述函数运行轨迹信息和所述崩溃堆栈信息上报至日志分析平台,以通过所述日志分析平台对所述应用程序进行异常定位。
[0024]本专利技术实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本专利技术实施例任一所述的异常定位方法。
[0025]本专利技术实施例还公开了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行如本专利技术实施例任一所述的异常定位方法。
[0026]本专利技术实施例包括以下优点:
[0027]本专利技术实施例中,在应用程序运行时,基于在应用程序中的预设插桩代码来记录函数运行轨迹信息,在应用程序出现异常时,获取应用程序的崩溃堆栈信息,基于函数运行轨迹信息和崩溃堆栈信息对应用程序进行异常定位。本专利技术实施例基于在应用程序中预设插桩代码来记录函数运行轨迹信息,并且在应用程序异常时获取应用程序的崩溃堆栈信息,结合函数运行轨迹信息和崩溃堆栈信息可以对应用程序精确进行异常定位,进而可以根据异常定位的结果解决应用程序的异常问题。
附图说明
[0028]图1是本专利技术的一种异常定位方法实施例的步骤流程图;
[0029]图2是本专利技术的一种异常定位方法可选实施例的步骤流程图;
[0030]图3是本专利技术的一种异常定位装置实施例的结构框图;
[0031]图4是根据一示例性实施例示出的一种用于异常定位的电子设备的结构框图;
[0032]图5是本专利技术根据另一示例性实施例示出的一种用于异常定位的电子设备的结构示意图。
具体实施方式
[0033]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0034]在实际中,往往大部分的应用程序的异常是很难准确定位,异常往往跟终端设备的机器性能,运行环境,以及应用程序本身甚至是操作偏好等因素息息相关。一般也是从用户反馈中得到应用程序的异常,通常表述为“新版本变卡了”,“打不开”,“经常无响应”,开发人员很难基于这些描述直接定位到应用程序中异常的位置,来解决应用程序中的异常问题,虽然可以在应用程序程序崩溃时,基于系统输出的当前的崩溃堆栈信息进行异常定位,然而由于崩溃堆栈信息主要是环境信息,因此仅基于崩溃堆栈信息难以对应用程序精确进行异常定位。
[0035]针对上述问题,本专利技术实施例提出了一种异常定位方法,通过扫描应用程序,确定在应用程序中需要插入用于记录函数运行轨迹信息的预设插桩代码的位置,从而可以基于预设插桩代码记录的函数运行轨迹信息,以及应用程序崩溃时获取的崩溃堆栈信息,对应用程序精确进行异常定位解决异常问题。
[0036]参照图1,示出了本专利技术的一种异常定位方法实施例的步骤流程图,在应用程序中插入预设插桩代码,具体可以包括如下步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常定位方法,其特征在于,在应用程序中插入预设插桩代码,所述方法包括:在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息;在所述应用程序出现异常时获取所述应用程序的崩溃堆栈信息;基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位。2.根据权利要求1所述的方法,其特征在于,所述函数运行轨迹信息至少包括所述应用程序的函数标识、函数运行时间以及函数引用关系;所述崩溃堆栈信息包括环境信息。3.根据权利要求1所述的方法,其特征在于,还包括:获取所述应用程序的字节码文件;扫描所述字节码文件的函数,确定所述字节码文件的插桩位置;在所述字节码文件中的所述插桩位置处插入预设插桩代码。4.根据权利要求3所述的方法,其特征在于,所述在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息,包括:在所述应用程序运行至所述的所述插桩位置时,基于所述插桩位置对应的所述预设插桩代码记录所述应用程序中的函数的函数运行轨迹信息。5.根据权利要求1所述的方法,其特征在于,所述基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位,包括:从所述函数运行轨迹信息中确定获取所述崩溃堆栈信息时关联的目标函数运行轨迹信息;将所述应用程序中所述目标函数运行轨迹信息对应的位置,定位为所述应用程序出现异常的位置。6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述函数运行轨迹信息和所述崩溃堆栈信息对所述应用程序进行异常定位,包括:将所所述函数运行轨迹信息和所述崩溃堆栈信息上报至日志分析平台,以通过所述日志分析平台对所述应用程序进行异常定位。7.一种异常定位装置,其特征在于,在应用程序中插入预设插桩代码,所述装置包括:轨迹信息获取模块,用于在所述应用程序运行时基于所述预设插桩代码记录函数运行轨迹信息;堆栈信息获取模块,用于在所述应用程序...

【专利技术属性】
技术研发人员:李利平杨斌
申请(专利权)人:北京搜狗科技发展有限公司
类型:发明
国别省市:

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

1