应用异常处理方法、终端及计算机可读存储介质技术

技术编号:31695891 阅读:24 留言:0更新日期:2022-01-01 10:56
本申请实施例公开了一种应用异常处理方法、终端及计算机可读存储介质,涉及终端技术领域。该方法应用于包括应用和异常处理模块的终端中,该方法包括:异常处理模块若检测到应用在运行中发生异常,则对应用进行功能检测;异常处理模块若检测到应用具有拦截应用的异常日志的功能,则将应用的异常日志发送给应用,以及将异常日志输出至异常处理模块对应的异常日志数据库;应用接收异常处理模块发送的异常日志,对异常日志进行处理。如此,在应用能够拦截应用的异常日志的情况下,异常处理模块也可以提取到应用的异常日志,以供系统侧快速定位和解决应用的异常问题,避免了应用拦截异常日志对应用异常问题的解决效果和解决效率的影响。的影响。的影响。

【技术实现步骤摘要】
应用异常处理方法、终端及计算机可读存储介质


[0001]本申请涉及终端
,尤其涉及一种应用异常处理方法、终端及计算机可读存储介质。

技术介绍

[0002]随着终端技术的发展,终端能够实现的功能也越来越丰富。比如,终端可以安装多种多样的应用,通过安装的应用实现各种功能。但是,对于终端中安装的应用来说,应用在运行中可能会发生异常。为了快速定位和解决应用异常,终端系统中配置有异常处理模块,异常处理模块可以在检测到应用在运行中发生异常时,确定应用发生异常的异常日志,调用默认异常处理机制,通过默认异常处理机制将应用的异常日志输出至异常处理模块对应的异常日志数据库,以供终端系统根据异常处理模块输出的异常日志分析应用异常原因以及解决应用异常问题。
[0003]但是随着应用的发展,应用厂家开始通过各种手段拦截应用的异常日志。比如,应用在启动之后,可以通过相关接口将异常处理模块的默认异常处理机制替换为应用的应用异常处理机制。这样,在应用运行的过程中,若异常处理模块检测到应用发生异常,所调用的异常处理机制将会变成应用的应用异常处理机制,也即是,异常处本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种应用异常处理方法,其特征在于,应用于终端中,所述终端包括应用和异常处理模块,所述方法包括:所述异常处理模块若检测到所述应用在运行中发生异常,则对所述应用进行功能检测,以检测所述应用是否具有拦截所述应用的异常日志的功能;所述异常处理模块若检测到所述应用具有拦截所述应用的异常日志的功能,则将所述应用的异常日志发送给所述应用,以及将所述异常日志输出至所述异常处理模块对应的异常日志数据库;所述应用接收所述异常处理模块发送的所述异常日志,对所述异常日志进行处理。2.如权利要求1所述的方法,其特征在于,所述对所述应用进行功能检测,包括:若检测到所述应用具有第一标记,则确定所述应用具有拦截所述应用的异常日志的功能,所述第一标记用于指示所述应用使用所述应用的应用异常处理机制替换了所述异常处理模块的默认异常处理机制;和/或,若检测到所述异常处理模块能够调用的异常处理机制不是所述异常处理模块配置的默认异常处理机制,则确定所述应用具有拦截所述应用的异常日志的功能。3.如权利要求2所述的方法,其特征在于,所述若检测到所述应用具有第一标记,则确定所述应用具有拦截所述应用的异常日志的功能之前,还包括:所述应用在启动之后,使用所述应用的应用异常处理机制替换所述异常处理模块配置的默认异常处理机制;所述异常处理模块若检测到所述应用使用所述应用的应用异常处理机制替换所述异常处理模块配置的默认异常处理机制,则为所述应用添加所述第一标记。4.如权利要求2或3所述的方法,其特征在于,所述若检测到所述异常处理模块能够调用的异常处理机制不是所述异常处理模块配置的默认异常处理机制,则确定所述应用具有拦截所述应用的异常日志的功能,包括:若检测到所述异常处理模块的异常处理接口能够调用的异常处理对象不是第一异常处理对象,则确定所述应用具有拦截所述应用的第一类异常的异常日志的功能,所述第一异常处理对象为所述异常处理模块配置的默认异常处理对象;若检测到所述应用的异常信号能够调用的信号处理函数不是第一信号处理函数,则确定所述应用具有拦截所述应用的第二类异常的异常日志的功能,所述应用的异常信号是所述异常处理模块根据所述应用发生的第二类异常对应生成的,所述第一信号处理函数为所述异常处理模块为所述应用的异常信号配置的默认信号处理函数。5.如权利要求1

4任一所述的方法,其特征在于,所述将所述应用的异常日志发送给所述应用,以及将所述异常日志输出至所述异常处理模块对应的异常日志数据库,包括:若所述应用在运行中发生第一类异常,则所述异常处理模块调用异常处理接口,通过所述异常处理接口调用第二异常处理对象,以将所述应用的异常日志发送给所述第二异常处理对象进行处理,所述第二异常处理对象为所述应用配置的异常处理对象;所述异常处理模块调用第三异常处理对象,通过所述第三异常处理对象对所述异常日志进行处理,以将所述异常日志输出至所述异常日志数据库,所述第三异常处理对象与所述异常处理模块配置的默认异常处理对象相关。
6.如权利要求1

4任一所述的方法,其特征在于,所述将所述应用的异常日志发送给所述应用,以及将所述异常日志输出至所述异常处理模块对应的异常日志数据库,包括:若所述应用在运行中发生第二类异常,则所述异常处理模块生成与所述应用发生的第二类异常对应的异常信号,所述异常信号用于表征所述应用的异常日志;所述异常处理模块根据所述异常信号,调用第二信号处理函数,以将所述异常信号派发给所述第二信号处理函数进行处理,以及调用第三信号处理函数,以通过所述第三信号处理函数将所述异常信号表征的异常日志出至所述异常日志数据库;其中,所述第二信号处理函数和所述第三信号处理函数是所述异常处理模块预先为所述异常信号重新注册的信号处理函数,所述第二信号处理函数是所述应用配置的信号处理函数,第三信号处理函数与所述异常处理模块配置的默认信号处理函数相关。7.如权利要求6所述的方法,其特征在于,所述异常处理模块根据所述异常信号,调用第二信号处理函数,以及调用第三信号处理函数,包括:所述异常处理模块根据所述异常信号,调用所述异常信号对应的信号处理函数指针,所述信号处理函数指针指向第二信号处理函数地址和第三信号处理函数地址,所述信号处理函数指针的指向是由所述异常处理模块预先配置得到;所述异常处理模块根据所述信号处理函数指针指向的所述第二信号处理函数地址,调用所述第二信号处理函数,以将所述异常信号派发给所述第二信号处理函数进行处理;所述异常处理模块根据所述信号处理函数指针指向的所述第三信号处理函数地址,调用所述第三信号处理函数,以通过所述第三信号处理函数将所述异常信号表征的异常日志出至所述异常处理模块对应的异常日志数据库。8.如权利要求6或7所述的方法,其特征在于,所述异常处理模块根据所述异常信号,调用第二信号处理函数,以将所述异常信号派发给所述第二信号处理函数进行处理,以及调用第三信号处理函数,以通过所述第三信号处理函数将所述异常信号表征的异常日志出至所述异常日志数据库之前,还包括:所述应用在启动后,为所述应用的异常信号重新注册用于处理所述异常信号的所述第二信号处理函数;所述异常处理模块在所述应用为所述异常信号重新注册信号处理函数的过程中,将所述应用为所述异常信号重新注册的信号处理函数替换为所述第二信号处理函数和所述第三信号处理函数。9.如权利要求8所述的方法,其特征在于,所述应用在启动后,为所述应用的异常信号重新注册用于处理所述异常信号的所述第二信号处理函数,包括:所述应用在启动后,调用信号处理函数注册机制,通过所述信号处理函数注册机制将所述应用的异常信号对应的信号处理函数指针的指向调整为第二信号处理函数地址;所述异常处理模块在所述应用为所述异常信号重新注册信号处理函数的过程中,将所述应用为所述异常信号重新注册的信号处理函数调整为所述第二信号处理函数和所述第三信号处理函数,包括:所述异常处理模块在所述应用通过所述信号处理函数注册机制调整所述信号处理函数指针的指向的过程中,将所述信号处理函数指针的指向重新调整为第二信号处理函数地址和所述第三信号处理函数地址。
10.如权利要求1

9任一所述的方法,其特征在于,所述将所述应用的异常日志发送给所述应用,以及将所述异常日志输出至所述异常处理模块对应的异常日志数据库之前,还包括...

【专利技术属性】
技术研发人员:肖名鹏雒云
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1