浏览器崩溃信息的收集方法、装置及终端设备与流程

文档序号:11733350阅读:288来源:国知局
浏览器崩溃信息的收集方法、装置及终端设备与流程
本发明涉及终端设备领域,特别涉及一种浏览器崩溃信息的收集方法、装置及终端设备。

背景技术:
随着互联网的迅速普及和移动终端设备的快速发展,浏览器技术也取得了巨大进步,以致现在浏览器已成为人们获取信息的重要工具之一。正因为如此,浏览器的突然崩溃必然会给人们在网络上的体验带来巨大的困扰。针对浏览器的崩溃问题,通常都可以通过浏览器内置的bug收集功能来收集ANR(ApplicationNotResponding,程序没有响应)、强制关闭等信息,并将这些信息传送到服务器,从而对错误信息进行统计,修复,然后再反馈给用户进行处理。在实现本发明的过程中,发明人发现至少存在以下问题:浏览器内置的bug收集功能虽然可以收集错误信息,但是当浏览器发生闪退时,由于此时浏览器已经被退出,而无法再调用内置的bug收集功能来收集错误代码,也就无法上报错误信息从而获知浏览器闪退的原因,进而也就无法解决浏览器发生闪退的问题。

技术实现要素:
为了解决浏览器的崩溃的问题,本发明实施例提供了一种浏览器崩溃信息的收集方法、装置及终端设备。所述技术方案如下:第一方面,提供了一种浏览器崩溃信息的收集方法,所述方法包括:获取操作系统发送给浏览器的错误信号;判断所述错误信号是否为预设错误信号;如果所述错误信号是预设错误信号,则保存所述错误信号。较佳的,所述判断所述错误信号是否为预设错误信号之后,所述方法还包括:如果所述错误信号是预设错误信号,获取浏览器的运行状态信息,所述运行状态信息包括:浏览器当前正在访问的网址、浏览器当前的内存、CPU使用情况、浏览器当前执行到的代码、当前浏览器的调用栈信息和各个寄存器的情况;保存和/或上传所述运行状态信息。较佳的,所述如果所述错误信号是预设错误信号,则保存所述错误信号包括:如果所述错误信号是预设错误信号,暂停浏览器闪退,保存所述错误信号;在保存所述错误信号后,继续所述浏览器闪退。较佳的,所述如果所述错误信号是预设错误信号,则保存所述错误信号之后,所述方法包括:将保存的所述错误信号上传至服务器。较佳的,所述将保存的所述错误信号上传至服务器之后,所述方法包括:接收所述服务器分析获得的错误原因;弹出显示框,所述显示框包括所述错误原因。较佳的,所述获取操作系统发送给浏览器的错误信号之前,所述方法还包括:当所述浏览器启动时,设置错误信号获取机制。较佳的,所述错误信号获取机制位于浏览器进程或系统进程。较佳的,所述预设错误信号包括:内存段错误、总线错误、非法指令异常和数学相关的异常。第二方面,提供了一种浏览器崩溃信息的收集装置,所述装置包括:错误信号获取模块,用于获取操作系统发送给浏览器的错误信号;判断模块,用于判断所述错误信号是否为预设错误信号;错误信号存储模块,用于如果所述错误信号是预设错误信号,则保存所述错误信号。较佳的,所述装置还包括:运行状态信息获取模块,用于如果所述错误信号是预设错误信号,获取浏览器的运行状态信息,所述运行状态信息包括:浏览器当前正在访问的网址、浏览器当前的内存、CPU使用情况、浏览器当前执行到的代码、当前浏览器的调用栈信息和各个寄存器的情况;运行状态信息处理模块,用于保存和/或上传所述运行状态信息。较佳的,所述错误信号存储模块用于如果所述错误信号是预设错误信号,暂停浏览器闪退,保存所述错误信号;在保存所述错误信号后,继续所述浏览器闪退。较佳的,所述装置还包括:发送模块,用于将保存的所述错误信号上传至服务器。较佳的,所述装置还包括:接收模块,用于接收所述服务器分析获得的错误原因;显示模块,用于弹出显示框,所述显示框包括所述错误原因。较佳的,所述装置还包括:设置模块,用于当所述浏览器启动时,设置错误信号获取机制。较佳的,所述错误信号获取机制位于浏览器进程或系统进程。较佳的,所述预设错误信号包括:内存段错误、总线错误、非法指令异常和数学相关的异常。第三方面,一种终端设备,其特征在于,所述终端设备包括:处理器、存储器,所述处理器与存储器连接,所述处理器,用于获取操作系统发送给浏览器的错误信号;所述处理器,还用于判断所述错误信号是否为预设错误信号;所述存储器,用于如果所述错误信号是预设错误信号,则保存所述错误信号。本发明实施例提供的技术方案带来的有益效果是:通过捕获操作系统发送给浏览器的错误信号,以便当确定捕获到的错误信号为预设错误信号时,对错误信号进行保存,以避免由于浏览器闪退使得浏览器自身的错误收集机制一同崩溃,而造成的无法对错误信号进行收集的情况,进一步避免了由于无法上报错误信息而不能获知浏览器闪退原因的情况。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种浏览器崩溃信息的收集方法流程图;图2是本发明实施例提供的另一种浏览器崩溃信息的收集方法流程图;图3是本发明实施例提供的一种浏览器崩溃信息的收集装置结构示意图;图4是本发明实施例提供的一种终端设备结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1是本发明实施例提供的一种浏览器崩溃信息的收集方法流程图。参见图1,该实施例的执行主体为终端设备,该方法包括:101、获取操作系统发送给浏览器的错误信号;优选地,当浏览器在进行网页浏览时,终端设备的操作系统会检测到产生浏览器异常的错误信号,并将该错误信号发送给该浏览器,同时,终端设备获取到该错误信号。102、判断该错误信号是否为预设错误信号;本发明实施例中,在终端设备获取到错误信号之后,终端设备将该错误信号与终端设备中能够引起浏览器闪退的预先设置的错误信号对比,判断该获取到的错误信号是否是预设错误信号。103、如果该错误信号是预设错误信号,则保存该错误信号。本发明实施例提供的方法,通过捕获操作系统发送给浏览器的错误信号,以便当确定捕获到的错误信号为预设错误信号时,对错误信号进行保存,以避免由于浏览器闪退使得浏览器自身的错误收集机制一同崩溃,而造成的无法对错误信号进行收集的情况,进一步避免了由于无法上报错误信息而不能获知浏览器闪退原因的情况。图2是本发明实施例提供的另一种浏览器崩溃信息的收集方法流程图。该方法实施例的执行主体为终端设备,参见图2,方法流程包括:201、当浏览器启动时,设置错误信号获取机制;本发明实施例中,该错误信号获取机制可以通过错误信号捕捉器实现,且该错误信号捕捉器可以被设置在该浏览器的进程之中,也可以被设置在操作系统的进程之中,本发明实施例对此不做限定。202、获取操作系统发送给浏览器的错误信号;优选地,当浏览器在运行期间,如果由于网页代码错误或者该浏览器内部模块的代码出现错误,则终端设备中的操作系统会将收集到的错误信号发送给浏览器。与此同时,终端设备的错误信号获取机制将获取该操作系统发送给浏览器的错误信号。其中,错误信号可以包括:程序没有响应ANR、系统固件版本不支持、系统配置不支持、浏览器程序代码缺陷、内存段错误、总线错误、非法指令异常等。203、判断该错误信号是否为预设错误信号;如果是,执行步骤204,如果否,执行步骤210;优选地,当终端设备获取到错误信号后,将此错误信号与终端设备预先设置的能够引起浏览器闪退的错误信号对比,以此来进一步判断该错误信号是否会造成浏览器闪退。本发明实施例中,闪退是指当在运行一个应用程序的时候,该应用程序突然消失了,并且该应用程序在退出时和退出后,都没有任何的错误提示信息。需要说明的是,该预设错误信号包括:内存段错误、总线错误、非法指令异常和数学相关的异常,如被0除引起的错误、浮点溢出引起的错误等。204、如果该错误信号是预设错误信号,则保存该错误信号;优选地,如果该错误信号是预设错误信号,则该错误信号能够造成浏览器闪退,此时,该终端设备中的错误信号获取机制暂停浏览器闪退,并保存该错误信号;在保存该错误信号之后,再继续进行该浏览器闪退,从而使得浏览器在还没有退出前的瞬间,该错误信号获取机制能够捕获该错误信号。205、获取浏览器的运行状态信息;优选地,当该错误信号是预设错误信号时,在终端设备保存该错误信号的同时,终端设备获取浏览器的运行状态信息,该运行状态信息包括:浏览器当前正在访问的网址、浏览器当前的内存、CPU使用情况、浏览器当前执行到的代码、当前浏览器的调用栈信息和各个寄存器的情况。206、保存和/或上传该运行状态信息;本发明实施例中,当终端设备获取到浏览器的运行状态信息后,对该运行状态信息进行处理,从中提取出可能引起浏览器闪退的运行状态信息,然后可以将该运行状态信息进行保存,也可以将该信息直接上传至服务器,还可以将该运行状态信息先保存然后再上传至服务器,本发明实施例对此不做限定。207、将保存的该错误信号上传至服务器;本发明实施例中,当该错误信号被保存后,浏览器发生闪退,并将该错误信号发送至服务器中,使得技术人员能够对该错误信号进行收集、整理和分析。208、接收该服务器分析获得的错误原因;优选地,根据步骤206和步骤207,终端设备将该能够引起浏览器闪退的错误信号和此时可能引起浏览器闪退的运行状态信息发送给服务器,服务器会根据这些上传的信息分析浏览器闪退的原因,并通过服务器反馈该错误原因,此时终端设备将接收该服务器分析所获得的错误原因。209、弹出显示框,该显示框包括该错误原因,结束;本发明实施例中,当终端设备接收到该错误原因后,在终端设备的显示界面上弹出显示框,并把该错误原因显示在弹出的显示框中。需要说明的是,显示框中的错误原因可以以程序代码的形式进行显示,也可以以文字注释的方式进行显示,还可以以程序代码和文字注释的方式进行显示,本发明实施例对此不做限定。210、如果该错误信号不是预设错误信号,忽略该错误信号。优选地,当终端设备获取到的错误信号经过与预设错误信号对比后,发现该错误信号并不是预设错误信号时,终端设备中的错误信号获取机制忽略该错误信号,即不对该错误信号做出进一步处理。本发明实施例中,当该错误信号不是预设错误信号时,则该错误信号并不能够造成浏览器闪退,因此,错误信号捕捉器不会对该信号进行处理,此时,浏览器将会调用内置的bug收集功能模块对该错误信号进行收集、整理和分析。需要说明的是,忽略该错误信号可以是将该错误信号删除,也可以是将该错误信号进行屏蔽,本发明实施例对此不做限定。本发明实施例提供的方法,通过捕获操作系统发送给浏览器的错误信号,以便当确定捕获到的错误信号为预设错误信号时,对错误信号进行保存,以避免由于浏览器闪退使得浏览器自身的错误收集机制一同崩溃,而造成的无法对错误信号进行收集的情况,进一步避免了由于无法上报错误信息而不能获知浏览器闪退原因的情况。进一步地,终端设备在此同时还获取浏览器的运行状态信息和可能的原因,并保存或者上传到服务器,通过接收该服务器分析获得的错误原因,弹出显示框以此来对用户进行错误提示,从而使得用户获知浏览器闪退的原因,进而根据该原因来解决浏览器发生闪退的问题。图3是本发明实施例提供的一种浏览器崩溃信息的收集装置结构示意图。参见图3,该装置包括:错误信号获取模块301,用于获取操作系统发送给浏览器的错误信号;判断模块302,用于判断该错误信号是否为预设错误信号;错误信号存储模块303,用于如果该错误信号是预设错误信号,则保存该错误信号。较佳的,该装置还包括:运行状态信息获取模块304,用于如果该错误信号是预设错误信号,获取浏览器的运行状态信息,该运行状态信息包括:浏览器当前正在访问的网址、浏览器当前的内存、CPU使用情况、浏览器当前执行到的代码、当前浏览器的调用栈信息和各个寄存器的情况;运行状态信息处理模块305,用于保存和/或上传该运行状态信息。较佳的,该错误信号存储模块303,用于如果该错误信号是预设错误信号,暂停浏览器闪退,保存该错误信号;在保存该错误信号后,继续该浏览器闪退。较佳的,该装置还包括:发送模块306,用于将保存的该错误信号上传至服务器。较佳的,该装置还包括:接收模块307,用于接收该服务器分析获得的错误原因;显示模块308,用于弹出显示框,该显示框包括该错误原因。较佳的,该装置还包括:设置模块309,用于当该浏览器启动时,设置错误信号获取机制。较佳的,该错误信号获取机制位于浏览器进程或系统进程。较佳的,该预设错误信号包括:内存段错误、总线错误、非法指令异常和数学相关的异常。综上所述,本发明实施例提供的装置,通过捕获操作系统发送给浏览器的错误信号,以便当确定捕获到的错误信号为预设错误信号时,对错误信号进行保存,以避免由于浏览器闪退使得浏览器自身的错误收集机制一同崩溃,而造成的无法对错误信号进行收集的情况,进一步避免了由于无法上报错误信息而不能获知浏览器闪退原因的情况。进一步地,终端设备在此同时还获取浏览器的运行状态信息和可能的原因,并保存或者上传到服务器,通过接收该服务器分析获得的错误原因,弹出显示框以此来对用户进行错误提示,从而使得用户获知浏览器闪退的原因,进而根据该原因来解决浏览器发生闪退的问题。需要说明的是:上述实施例提供的浏览器崩溃信息的收集装置在进行浏览器崩溃信息收集时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的浏览器崩溃信息的收集装置与浏览器崩溃信息的收集方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图4是本发明实施例提供的一种终端设备结构示意图。参见图4,该终端设备包括:处理器401、存储器402,该处理器与该存储器连接,该处理器401,用于获取操作系统发送给浏览器的错误信号;该处理器401,还用于判断所述错误信号是否为预设错误信号;该存储器402,用于如果所述错误信号是预设错误信号,则保存所述错误信号。该处理器401,用于获取操作系统发送给浏览器的错误信号;该处理器401,还用于判断该错误信号是否为预设错误信号;该存储器402,用于如果该错误信号是预设错误信号,则保存该错误信号。较佳的,该终端设备还包括:该处理器401,还用于如果该错误信号是预设错误信号,获取浏览器的运行状态信息,该运行状态信息包括:浏览器当前正在访问的网址、浏览器当前的内存、CPU使用情况、浏览器当前执行到的代码、当前浏览器的调用栈信息和各个寄存器的情况;该处理器401,还用于保存和/或上传该运行状态信息。较佳的,该存储器402,用于如果该错误信号是预设错误信号,暂停浏览器闪退,保存该错误信号;在保存该错误信号后,继续该浏览器闪退。较佳的,该终端设备还包括:该发送器403,用于将保存的该错误信号上传至服务器。较佳的,该终端设备还包括:该接收器404,用于接收该服务器分析获得的错误原因;该显示器405,用于弹出显示框,该显示框包括该错误原因。较佳的,该终端设备还包括:该处理器401,还用于当该浏览器启动时,设置错误信号获取机制。较佳的,该错误信号获取机制位于浏览器进程或系统进程。较佳的,该预设错误信号包括:内存段错误(segmentfault)、总线错误(SIGBUS)、非法指令异常(SIGILL)和数学相关的异常(SIGFPE)。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1