一种未知crash上报方法和装置的制造方法

文档序号:9261247阅读:301来源:国知局
一种未知crash上报方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种未知crash上报方法和装置。
【背景技术】
[0002]随着通信互联网技术的发展,各种应用程序在用户生活中应用越来越广泛,且用户对应用程序的性能的要求也越来越高。其中,稳定性是衡量一个应用程序性能的重要指标,且应用程序的稳定性一定程度上决定了应用程序的留存率和口碑的好坏。因此,提升应用程序的稳定性对于应用程序的发展有着十分重要的意义。
[0003]然而,未知崩溃(crash)是影响应用程序稳定性的一个巨大因素,其中,未知crash是指没有任何堆栈信息的crash。而目前的互联网技术中是无法识别应用程序的未知 crash。

【发明内容】

[0004]本发明实施例提供了一种未知crash上报方法和装置,可以识别应用程序的未知crashο
[0005]第一方面,本发明实施例提供一种未知crash上报方法,包括:
[0006]当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;
[0007]当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;
[0008]向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。。
[0009]第二方面,本发明实施例提供一种未知crash上报方法,包括:
[0010]接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息;
[0011]判断所述日志信息是否包括堆栈信息,若否,则确定所述目标应用程序在所述最近一次运行时产生未知crash。
[0012]第三方法,本发明实施例提供一种未知crash上报装置,包括:判断单元、读取单元和发送单元,其中:
[0013]所述判断单元,用于当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;
[0014]所述读取单元,用于当所述判断单元判断所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;
[0015]所述发送单元,用于向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。
[0016]第四方法,本发明实施例提供一种未知crash上报装置,包括:接收单元、判断单元和确定单元,其中:
[0017]所述接收单元,用于接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息;
[0018]所述判断单元,用于判断所述日志信息是否包括堆栈信息;
[0019]所述确定单元,用于当所述判断单元判断所述日志信息不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash。
[0020]上述技术方案中,当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。从而本发明实施例可以识别应用程序的未知crashο
【附图说明】
[0021]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本发明实施例提供的一种未知crash上报方法的流程示意图;
[0023]图2是本发明实施例提供的另一种未知crash上报方法的流程示意图;
[0024]图3是本发明实施例提供的另一种未知crash上报方法的流程示意图;
[0025]图4是本发明实施例提供的一种应用程序启动不意图举例不意图;
[0026]图5是本发明实施例提供的一种未知crash上报装置的结构示意图;
[0027]图6是本发明实施例提供的另一种未知crash上报装置的结构示意图;
[0028]图7是本发明实施例提供的另一种未知crash上报装置的结构示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]本发明实施例中,应用程序可以是用户终端是可以安装的任何应用程序,例如:浏览器、聊天应用程序、游戏应用程序、邮件应用程序或者音视频率应用程序等。另外,用户终端任何具备通信和存储功能的设备,例如:平板电脑、手机、电子阅读器、遥控器、个人计算机(Personal Computer, PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等智能设备。
[0031]另外,本发明实施例中,crash包括未知crash和非未知crash(已知crash),其中,未知crash是指发生crash时没有任何堆栈信息的crash,进一步,未知crash是指发生crash时没有任何堆栈信息以及没有触发任何消息事件的crash,而非未知crash是指除未知crash之外的所有crash,例如:非未知crash是指发生crash时有堆栈信息的crash,或者非未知crash是指发生crash时有触发消息事件的crash。其中,堆栈信息可以是用于记录异常事件和/错误事件的信息。
[0032]另外,本发明实施例中,目标应用程序的标识可以是该目标应用程序的标志启动的标识。
[0033]请参阅图1,图1是本发明实施例提供的一种未知crash上报方法的流程示意图,如图1所示,包括以下步骤:
[0034]S101、当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识。
[0035]可选的,上述指定文件可以是用于存储当前处于运行状态的应用程序的标识。
[0036]可选的,上述可以是接收用户输入的启动指令,例如:用户点击目标应用程序的图标;或者上述可以是获取系统自动生成的启动指令,例如:开机时自动启动目标应用程序;或者上述可以是获取当前处理的事件触发的启动指令,例如:当前在展现图像,当图像可以共享时,启动用于进行图像共享的通信应用程序等等。另外,上述指定文件可以是本地文件,例如:系统中的一个用于存储当前处于运行状态的应用程序的标识,即该当前正在运行的应用程序的标识都会存储在该指定文件中。另外,应用程序的标识与应用程序存在一一对应关系,即一个标识唯一对应一个应用程序,一个应用程序唯一对应一个标识。
[0037]S102、当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息。
[0038]可选的,由于上述指定文件是用于存储当前处于运行状态的应用程序的标识,且应用程序正常退出时,上述指定文件中会将该正常退出的应用程序的标识移除。而接收到上述启动指令时,上述目标应用程序当前处于非运行状态,这样当步骤SlOl判断在接收到上述启动指令时,该指定文件中包括上述目标应用程序的标识,步骤S102就可以判断上述目标应用程序在最近一次运行出现crash,即目标应用程序在最近一次运行时是异常退出。此时,步骤S102就可以从日志文件中读取目标应用程序最近一次的日志信息,当该日志信息中不包括堆栈信息时,该日志信息就可以指示目标应用程序在所述最近一次运行时产生未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生未知crash。另外,当步骤S102获取的日志信息包括堆栈信息时,由于堆栈信息中记录了造成目标应用程序crash的异常事件,从而该日志信息可以指示目标应用程序在所述最近一次运行时产生非未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生非未知crash。另外,上述日志文件是系统用于保存各应用程序的日志信息的文件。
[0039]S103、向服务器发送所述日志信息,以使所述服务器判断所述日志
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1