CN104978212A - 一种未知crash上报方法和装置 - Google Patents

一种未知crash上报方法和装置 Download PDF

Info

Publication number
CN104978212A
CN104978212A CN201410208363.4A CN201410208363A CN104978212A CN 104978212 A CN104978212 A CN 104978212A CN 201410208363 A CN201410208363 A CN 201410208363A CN 104978212 A CN104978212 A CN 104978212A
Authority
CN
China
Prior art keywords
destination application
crash
unknown
information
log information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410208363.4A
Other languages
English (en)
Other versions
CN104978212B (zh
Inventor
陈泽凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410208363.4A priority Critical patent/CN104978212B/zh
Publication of CN104978212A publication Critical patent/CN104978212A/zh
Application granted granted Critical
Publication of CN104978212B publication Critical patent/CN104978212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种未知crash上报方法和装置,该方法可包括:当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。本发明实施例可以识别应用程序的未知crash。

Description

一种未知crash上报方法和装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种未知crash上报方法和装置。 
背景技术
随着通信互联网技术的发展,各种应用程序在用户生活中应用越来越广泛,且用户对应用程序的性能的要求也越来越高。其中,稳定性是衡量一个应用程序性能的重要指标,且应用程序的稳定性一定程度上决定了应用程序的留存率和口碑的好坏。因此,提升应用程序的稳定性对于应用程序的发展有着十分重要的意义。 
然而,未知崩溃(crash)是影响应用程序稳定性的一个巨大因素,其中,未知crash是指没有任何堆栈信息的crash。而目前的互联网技术中是无法识别应用程序的未知crash。 
发明内容
本发明实施例提供了一种未知crash上报方法和装置,可以识别应用程序的未知crash。 
第一方面,本发明实施例提供一种未知crash上报方法,包括: 
当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识; 
当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息; 
向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。。 
第二方面,本发明实施例提供一种未知crash上报方法,包括: 
接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目 标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息; 
判断所述日志信息是否包括堆栈信息,若否,则确定所述目标应用程序在所述最近一次运行时产生未知crash。 
第三方法,本发明实施例提供一种未知crash上报装置,包括:判断单元、读取单元和发送单元,其中: 
所述判断单元,用于当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识; 
所述读取单元,用于当所述判断单元判断所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息; 
所述发送单元,用于向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。 
第四方法,本发明实施例提供一种未知crash上报装置,包括:接收单元、判断单元和确定单元,其中: 
所述接收单元,用于接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息; 
所述判断单元,用于判断所述日志信息是否包括堆栈信息; 
所述确定单元,用于当所述判断单元判断所述日志信息不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash。 
上述技术方案中,当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不 包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。从而本发明实施例可以识别应用程序的未知crash。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 
图1是本发明实施例提供的一种未知crash上报方法的流程示意图; 
图2是本发明实施例提供的另一种未知crash上报方法的流程示意图; 
图3是本发明实施例提供的另一种未知crash上报方法的流程示意图; 
图4是本发明实施例提供的一种应用程序启动示意图举例示意图; 
图5是本发明实施例提供的一种未知crash上报装置的结构示意图; 
图6是本发明实施例提供的另一种未知crash上报装置的结构示意图; 
图7是本发明实施例提供的另一种未知crash上报装置的结构示意图。 
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 
本发明实施例中,应用程序可以是用户终端是可以安装的任何应用程序,例如:浏览器、聊天应用程序、游戏应用程序、邮件应用程序或者音视频率应用程序等。另外,用户终端任何具备通信和存储功能的设备,例如:平板电脑、手机、电子阅读器、遥控器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等智能设备。 
另外,本发明实施例中,crash包括未知crash和非未知crash(已知crash),其中,未知crash是指发生crash时没有任何堆栈信息的crash,进一步,未知crash是指发生crash时没有任何堆栈信息以及没有触发任何消息事件的crash,而非未知crash是指除未知crash之外的所有crash,例如:非未知crash是指发生crash 时有堆栈信息的crash,或者非未知crash是指发生crash时有触发消息事件的crash。其中,堆栈信息可以是用于记录异常事件和/错误事件的信息。 
另外,本发明实施例中,目标应用程序的标识可以是该目标应用程序的标志启动的标识。 
请参阅图1,图1是本发明实施例提供的一种未知crash上报方法的流程示意图,如图1所示,包括以下步骤: 
S101、当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识。 
可选的,上述指定文件可以是用于存储当前处于运行状态的应用程序的标识。 
可选的,上述可以是接收用户输入的启动指令,例如:用户点击目标应用程序的图标;或者上述可以是获取系统自动生成的启动指令,例如:开机时自动启动目标应用程序;或者上述可以是获取当前处理的事件触发的启动指令,例如:当前在展现图像,当图像可以共享时,启动用于进行图像共享的通信应用程序等等。另外,上述指定文件可以是本地文件,例如:系统中的一个用于存储当前处于运行状态的应用程序的标识,即该当前正在运行的应用程序的标识都会存储在该指定文件中。另外,应用程序的标识与应用程序存在一一对应关系,即一个标识唯一对应一个应用程序,一个应用程序唯一对应一个标识。 
S102、当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息。 
可选的,由于上述指定文件是用于存储当前处于运行状态的应用程序的标识,且应用程序正常退出时,上述指定文件中会将该正常退出的应用程序的标识移除。而接收到上述启动指令时,上述目标应用程序当前处于非运行状态,这样当步骤S101判断在接收到上述启动指令时,该指定文件中包括上述目标应用程序的标识,步骤S102就可以判断上述目标应用程序在最近一次运行出现crash,即目标应用程序在最近一次运行时是异常退出。此时,步骤S102就可以从日志文件中读取目标应用程序最近一次的日志信息,当该日志信息中不包括堆栈信息时,该日志信息就可以指示目标应用程序在所述最近一次运行时产生未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生未知crash。另外,当步骤S102获取的日志信息包括堆栈信息时,由于堆栈 信息中记录了造成目标应用程序crash的异常事件,从而该日志信息可以指示目标应用程序在所述最近一次运行时产生非未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生非未知crash。另外,上述日志文件是系统用于保存各应用程序的日志信息的文件。 
S103、向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。 
需要说明的是,所述方法在接收到上述启动指令时还可以启动上述目标应用程序,即启动目标应用程序可以是与步骤S101和步骤S102一起执行的。 
可选的,上述方法可以应用于任何具备通信和存储功能的用户终端,即该用户终端可以实现上述方法,例如:平板电脑、手机、电子阅读器、遥控器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等智能设备。 
上述技术方案中,当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。从而本发明实施例可以识别应用程序的未知crash。 
请参阅图2,图2是本发明实施例提供的另一种未知crash上报方法的流程示意图,如图2所示,包括以下步骤: 
S201、当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识。 
可选的,所述指定文件可以是用于存储当前处于运行状态的应用程序的标识。 
可选的,由于上述指定文件是用于存储当前处于运行状态的应用程序的标识,且应用程序正常退出时,上述指定文件中会将该正常退出的应用程序的标识移除。而接收到上述启动指令时,上述目标应用程序当前处于非运行状态, 这样当步骤S201判断在接收到上述启动指令时,该指定文件中包括上述目标应用程序的标识,就可以判断上述目标应用程序在最近一次运行出现crash,即可以执行步骤S202。当步骤S201判断在接收到上述启动指令,该指定文件中不包括上述目标应用程序的标识时,就说明目标应用程序最近一次运行是正常退出,从而可以直接启动该目标应用程序。 
S202、当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取包括所述目标应用程序在离获取所述启动指令的时间最近一次运行时与crash相关的运行环境信息的日志信息。 
S203、向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash,并根据所述运行环境信息分析所述未知crash的产生原因。 
当服务器接收到上述日志信息后,服务器就可以判断日志信息中是否包括堆栈信息,当不包括堆栈信息时,服务器就可以确定所述目标应用程序在所述最近一次运行时产生未知crash,当包括堆栈信息时,服务器就可以确定所述目标应用程序在所述最近一次运行时产生非未知crash,以及根据所述运行环境信息分析所述未知crash的产生原因。 
可选的,服务器确定目标应用程序在所述最近一次运行时产生未知crash时,还可以向执行上述步骤的用户终端返回目标应用程序产生未知crash的反馈结果。 
可选的,上述与crash相关的运行环境信息还可以理解为能够导致目标应用程序出现crash的运行环境信息,例如:上述运行环境信息可以包括如下至少一项: 
目标应用程序在运行时用户终端的内存状况信息、目标应用程序在运行时用户终端的内存温度信息、目标应用程序在运行时用户终端当前运行的应用程序信息、目标应用程序在运行时用户终端使用的网络状况信息、目标应用程序在运行时用户终端接收的操作信息、目标应用程序在运行所访问的站点信息、目标应用程序运行时的异常信息等等可以导致目标应用程序产生crash的信息。另外,当日志信息包括堆栈信息时,该堆栈信息也可以作为上述运行环境信息中的一项。 
当服务器接收到上述运行环境信息时,就可以分析目标应用程序的未知crash的产生原因,例如:上述运行环境信息包括目标应用程序在运行时用户终端的内存状况信息,且此时用户终端的内存使用率特别高时,服务器通过分析可能就得到目标应用程序的未知crash的产生原因可能是内存不够,这样服务器就可以针对该情况改进目标应用程序,以使目标应用程序可以在内存较小的情况下正常运行。另外,上述服务器具体可以是分析上述目标应用程序或者维护上述目标应用程序的服务器,这样该服务器就可以根据未知crash的产生原因改进目标应用程序,以提高目标应用程序的稳定性。 
可选的,步骤S203还可以是只上报上述运行环境信息,服务器接收到该运行环境信息后,判断所述运行环境信息中是否包括堆栈信息,当所述服务器判断所述运行环境信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash,并根据所述运行环境信息分析所述未知crash的产生原因。 
当然,服务器可以是接收多个用户终端发送上述日志信息,这样服务器就可以量化或者统计目标应用程序的未知crash,以及分析目标应用程序在这些用户终端产生未知crash的原因,再结合这些原因信息改进目标应用程序,以提高目标应用程序的稳定性。 
上述技术方案中,可以实现由于服务器对目标应用程序的未知crash进行分析和量化,而服务器是可以修改或者改进目标应用程序的,从而上述技术方案中可以实现提高目标应用程序的稳定性。 
请参阅图3,图3是本发明实施例提供的另一种未知crash上报方法的流程示意图,如图3所示,包括以下步骤: 
S301、接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息。 
可选的,当用户终端获取到用于启动目标应用程序的启动指令时,用户终端判断指定文件是否包括所述目标应用程序的标识,当该指定文件包括所述目标应用程序的标识时,用户终端从日志文件中读取所述目标应用程序在离获取 所述启动指令的时间最近一次运行的日志信息,并向执行步骤S301的服务器发送该日志信息。 
S302、判断所述日志信息是否包括堆栈信息,若否,则执行步骤S303;若是,则可以执行步骤S304。 
可选的,步骤S302可以是对上述日志信息进行筛选,当筛选到堆栈信息时,就执行步骤S304,没有筛选到堆栈信息时,就执行步骤S303。 
S303、确定所述目标应用程序在所述最近一次运行时产生未知crash。 
S304、确定所述目标应用程序在所述最近一次运行时产生非未知crash。 
可选的,上述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息;另外,上述与crash相关的运行环境信息还可以理解为能够导致目标应用程序出现crash的运行环境信息,例如:上述运行环境信息可以包括如下至少一项: 
目标应用程序在运行时用户终端的内存状况信息、目标应用程序在运行时用户终端的内存温度信息、目标应用程序在运行时用户终端当前运行的应用程序信息、目标应用程序在运行时用户终端使用的网络状况信息、目标应用程序在运行时用户终端接收的操作信息、目标应用程序在运行所访问的站点信息、目标应用程序运行时的异常信息等等可以导致目标应用程序产生crash的信息。 
所述方法还可以包括: 
根据所述运行环境信息分析所述未知crash的产生原因。 
当接收到上述运行环境信息时,就可以分析目标应用程序的未知crash的产生原因,例如:上述运行环境信息包括目标应用程序在运行时用户终端的内存状况信息,且此时用户终端的内存使用率特别高时,通过分析可能就得到目标应用程序的未知crash的产生原因可能是内存不够,这样就可以针对该情况改进目标应用程序,以使目标应用程序可以在内存较小的情况下正常运行。另外,上述方法可以应用于分析上述目标应用程序或者维护上述目标应用程序的服务器,这样该服务器就可以根据未知crash的产生原因改进目标应用程序,以提高目标应用程序的稳定性。当然,服务器可以是接收多个用户终端发送上述日志信息,这样服务器就可以量化或者统计目标应用程序的未知crash,以及分析目标应用程序在这些用户终端产生未知crash的原因,再结合这些原因信息改进目标应用程序,以提高目标应用程序的稳定性。 
可选的,步骤S301还可以是只接收上述运行环境信息,步骤S302再判断所述运行环境信息中是否包括堆栈信息,当判断所述运行环境信息中不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash,并根据所述运行环境信息分析所述未知crash的产生原因。 
上述技术方案中,可以实现由于服务器对目标应用程序的未知crash进行分析和量化,而服务器是可以修改或者改进目标应用程序的,从而上述技术方案中可以实现提高目标应用程序的稳定性。 
请参阅图4,图4是本发明实施例提供的一种应用程序启动示意图举例示意图,如图4所示,包括以下步骤: 
S401、程序启动,并读取指定文件. 
具体可以是接收用户输入的用于启动程序的操作指令,另外,上述指定文件可以是用于存储当前处于运行状态的应用程序的标识。 
S402、判断指定文件中是否存在该程序的标志启动的标识,若是,则执行步骤S403,若否,则执行步骤S407; 
S403、读取实时记录日志信息的日志文件。 
S404、从该日志文件中获取该程序与crash相关的运行环境信息。 
S405、向后台服务器上报该运行环境信息。 
另外,上述与crash相关的运行环境信息还可以理解为能够导致目标应用程序出现crash的运行环境信息,例如:上述运行环境信息可以包括如下至少一项 
目标应用程序在运行时用户终端的内存状况信息、目标应用程序在运行时用户终端的内存温度信息、目标应用程序在运行时用户终端当前运行的应用程序信息、目标应用程序在运行时用户终端使用的网络状况信息、目标应用程序在运行时用户终端接收的操作信息、目标应用程序在运行所访问的站点信息、目标应用程序运行时的异常信息等等可以导致目标应用程序产生crash的信S405、向后台服务器上报该运行环境信息。 
S406、后台服务器筛选得到该程序的未知crash的信息数据,完成对未知crash的统计上报;该步骤由后台服务器执行的。 
后台服务器还可以根据上述运行环境信息分析crash的原因。即后台服务器可以判断所述运行环境信息中是否包括堆栈信息,当判断所述运行环境信息中 不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash,并根据所述运行环境信息分析所述未知crash的产生原因。 
S407、写入该程序的标志启动的标识到指定文件中。 
将程序的标识写入到指定文件后,就表明该程序目标处于运行状态。 
S408、程序退出,从指定文件中移除该程序的标志启动的标识。 
当程序退出时,从指定文件中移除该程序的标识,从而表示该程序已经退出,即该程序当前处于关闭状态。 
上述技术方案中,在上述实施例的基础上详细介绍上报crash上报方法,以及程序启动和退出流程。 
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例一至四实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例一、实施例二、实施例三和实施例四。 
请参阅图5,图5是本发明实施例提供的一种未知crash上报装置的结构示意图,如图5所示,包括:判断单元51、读取单元52和发送单元53,其中: 
判断单元51,用于当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识。 
可选的,上述指定文件可以是用于存储当前处于运行状态的应用程序的标识。 
可选的,上述可以是接收用户输入的启动指令,例如:用户点击目标应用程序的图标;或者上述可以是获取系统自动生成的启动指令,例如:开机时自动启动目标应用程序;或者上述可以是获取当前处理的事件触发的启动指令,例如:当前在展现图像,当图像可以共享时,启动用于进行图像共享的通信应用程序等等。另外,上述指定文件可以是本地文件,例如:系统中的一个用于存储当前处于运行状态的应用程序的标识,即该当前正在运行的应用程序的标识都会存储在该指定文件中。另外,应用程序的标识与应用程序存在一一对应关系,即一个标识唯一对应一个应用程序,一个应用程序唯一对应一个标识。 
读取单元52,用于当所述判断单元判断所述指定文件包括所述目标应用程 序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息。 
可选的,由于上述指定文件是用于存储当前处于运行状态的应用程序的标识,且应用程序正常退出时,上述指定文件中会将该正常退出的应用程序的标识移除。而接收到上述启动指令时,上述目标应用程序当前处于非运行状态,这样当判断单元51判断在接收到上述启动指令时,该指定文件中包括上述目标应用程序的标识,读取单元52就可以判断上述目标应用程序在最近一次运行出现crash,即目标应用程序在最近一次运行时是异常退出。此时,读取单元52就可以从日志文件中读取目标应用程序最近一次的日志信息,当该日志信息中不包括堆栈信息时,该日志信息就可以指示目标应用程序在所述最近一次运行时产生未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生未知crash。另外,当读取单元52获取的日志信息包括堆栈信息时,由于堆栈信息中记录了造成目标应用程序crash的异常事件,从而该日志信息可以指示目标应用程序在所述最近一次运行时产生非未知crash,即通过该日志信息就可以确定目标应用程序在所述最近一次运行时产生非未知crash。另外,上述日志文件是系统用于保存各应用程序的日志信息的文件。 
发送单元53,用于向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。 
当服务器接收到上述日志信息后,服务器就可以判断日志信息中是否包括堆栈信息,当不包括堆栈信息时,服务器就可以确定所述目标应用程序在所述最近一次运行时产生未知crash,当包括堆栈信息时,服务器就可以确定所述目标应用程序在所述最近一次运行时产生非未知crash。 
可选的,服务器确定目标应用程序在所述最近一次运行时产生未知crash时,还可以向执行上述步骤的用户终端返回目标应用程序产生未知crash的反馈结果。 
可选的,上述日志信息可以包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息的,且该运行环境信息可以用于使所述服务器根据所述运行环境信息分析所述未知crash的产生原因。上述与crash相关的运行环 境信息还可以理解为能够导致目标应用程序出现crash的运行环境信息,例如:上述运行环境信息可以包括如下至少一项: 
目标应用程序在运行时用户终端的内存状况信息、目标应用程序在运行时用户终端的内存温度信息、目标应用程序在运行时用户终端当前运行的应用程序信息、目标应用程序在运行时用户终端使用的网络状况信息、目标应用程序在运行时用户终端接收的操作信息、目标应用程序在运行所访问的站点信息、目标应用程序运行时的异常信息等等可以导致目标应用程序产生crash的信息。另外,当日志信息包括堆栈信息时,该堆栈信息也可以作为上述运行环境信息中的一项。 
当服务器接收到上述运行环境信息时,就可以分析目标应用程序的未知crash的产生原因,例如:上述运行环境信息包括目标应用程序在运行时用户终端的内存状况信息,且此时用户终端的内存使用率特别高时,服务器通过分析可能就得到目标应用程序的未知crash的产生原因可能是内存不够,这样服务器就可以针对该情况改进目标应用程序,以使目标应用程序可以在内存较小的情况下正常运行。另外,上述服务器具体可以是分析上述目标应用程序或者维护上述目标应用程序的服务器,这样该服务器就可以根据未知crash的产生原因改进目标应用程序,以提高目标应用程序的稳定性。 
可选的,发送单元53还可以是只上报上述运行环境信息,服务器接收到该运行环境信息后,判断所述运行环境信息中是否包括堆栈信息,当所述服务器判断所述运行环境信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash,并根据所述运行环境信息分析所述未知crash的产生原因。 
当然,服务器可以是接收多个用户终端发送上述日志信息,这样服务器就可以量化或者统计目标应用程序的未知crash,以及分析目标应用程序在这些用户终端产生未知crash的原因,再结合这些原因信息改进目标应用程序,以提高目标应用程序的稳定性。 
该实施例中,可以实现由于服务器对目标应用程序的未知crash进行分析和量化,而服务器是可以修改或者改进目标应用程序的,从而上述技术方案中可以实现提高目标应用程序的稳定性。 
需要说明的是,所述装置在接收到上述启动指令时还可以启动上述目标应 用程序。 
可选的,上述装置可以应用于任何具备通信和存储功能的用户终端,即该用户终端可以实现上述装置,例如:平板电脑、手机、电子阅读器、遥控器、PC、笔记本电脑、车载设备、网络电视、可穿戴设备等智能设备。 
上述技术方案中,当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。从而本发明实施例可以识别应用程序的未知crash。 
请参阅图6,图6是本发明实施例提供的另一种未知crash上报装置的结构示意图,如图6所示,包括:接收单元61、判断单元62和确定单元63,其中: 
接收单元61,用于接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息; 
判断单元62,用于判断所述日志信息是否包括堆栈信息; 
确定单元63,用于当所述判断单元判断所述日志信息不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash。 
可选的,上述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息;另外,上述与crash相关的运行环境信息还可以理解为能够导致目标应用程序出现crash的运行环境信息,例如:上述运行环境信息可以包括如下至少一项: 
目标应用程序在运行时用户终端的内存状况信息、目标应用程序在运行时用户终端的内存温度信息、目标应用程序在运行时用户终端当前运行的应用程序信息、目标应用程序在运行时用户终端使用的网络状况信息、目标应用程序在运行时用户终端接收的操作信息、目标应用程序在运行所访问的站点信息、目标应用程序运行时的异常信息等等可以导致目标应用程序产生crash的信息。 
如图7的所示,所述装置还可以包括: 
分析单元64,用于根据所述运行环境信息分析所述未知crash的产生原因。 
当接收到上述运行环境信息时,就可以分析目标应用程序的未知crash的产生原因,例如:上述运行环境信息包括目标应用程序在运行时用户终端的内存状况信息,且此时用户终端的内存使用率特别高时,通过分析可能就得到目标应用程序的未知crash的产生原因可能是内存不够,这样就可以针对该情况改进目标应用程序,以使目标应用程序可以在内存较小的情况下正常运行。另外,上述方法可以应用于分析上述目标应用程序或者维护上述目标应用程序的服务器,这样该服务器就可以根据未知crash的产生原因改进目标应用程序,以提高目标应用程序的稳定性。当然,服务器可以是接收多个用户终端发送上述日志信息,这样服务器就可以量化或者统计目标应用程序的未知crash,以及分析目标应用程序在这些用户终端产生未知crash的原因,再结合这些原因信息改进目标应用程序,以提高目标应用程序的稳定性。 
可选的,确定单元63还可以用于当所述判断单元判断所述日志信息包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生非未知crash。 
可选的,接收单元61还可以是只接收上述运行环境信息,判断单元62再判断所述运行环境信息中是否包括堆栈信息,当判断所述运行环境信息中不包括堆栈信息时,确定单元63就可以确定所述目标应用程序在所述最近一次运行时产生未知crash,分析单元64再根据所述运行环境信息分析所述未知crash的产生原因。 
上述技术方案中,可以实现由于服务器对目标应用程序的未知crash进行分析和量化,而服务器是可以修改或者改进目标应用程序的,从而上述技术方案中可以实现提高目标应用程序的稳定性。 
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。 
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。 

Claims (12)

1.一种未知崩溃crash上报方法,其特征在于,包括:
当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;
当所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;
向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。
2.如权利要求1所述的方法,其特征在于,所述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息,所述运行环境信息用于使所述服务器根据所述运行环境信息分析所述未知crash的产生原因。
3.如权利要求1或2所述的方法,其特征在于,当所述日志信息中包括堆栈信息时,所述日志信息用于指示所述目标应用程序在所述最近一次运行时产生非未知crash。
4.一种未知crash上报方法,其特征在于,包括:
接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息;
判断所述日志信息是否包括堆栈信息,若否,则确定所述目标应用程序在所述最近一次运行时产生未知crash。
5.如权利要求4所述的方法,其特征在于,所述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息;
所述方法还包括:
根据所述运行环境信息分析所述未知crash的产生原因。
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括:
当判断所述日志信息包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生非未知crash。
7.一种未知崩溃crash上报装置,其特征在于,包括:判断单元、读取单元和发送单元,其中:
所述判断单元,用于当获取到用于启动目标应用程序的启动指令时,判断指定文件是否包括所述目标应用程序的标识;
所述读取单元,用于当所述判断单元判断所述指定文件包括所述目标应用程序的标识时,从日志文件中读取所述目标应用程序在离获取所述启动指令的时间最近一次运行的日志信息;
所述发送单元,用于向服务器发送所述日志信息,以使所述服务器判断所述日志信息中是否包括堆栈信息,当所述服务器判断所述日志信息中不包括堆栈信息时,由所述服务器确定所述目标应用程序在所述最近一次运行时产生未知crash。
8.如权利要求7所述的装置,其特征在于,所述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息,所述运行环境信息用于使所述服务器根据所述运行环境信息分析所述未知crash的产生原因。
9.如权利要求7或8所述的装置,其特征在于,当所述日志信息中包括堆栈信息时,所述日志信息指示所述目标应用程序在所述最近一次运行时产生非未知crash。
10.一种未知crash上报装置,其特征在于,包括:接收单元、判断单元和确定单元,其中:
所述接收单元,用于接收用户终端发送的日志信息,所述日志信息是所述用户终端在接收到用于启动目标应用程序的启动指令,且所述用户终端的指定文件当前包括所述目标应用程序的标识时发送的,且所述日志信息为所述目标应用程序在离所述用户终端获取所述启动指令的时间最近一次运行的日志信息;
所述判断单元,用于判断所述日志信息是否包括堆栈信息;
所述确定单元,用于当所述判断单元判断所述日志信息不包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生未知crash。
11.如权利要求10所述的装置,其特征在于,所述日志信息包括所述目标应用程序在所述最近一次运行时与crash相关的运行环境信息;
所述装置还包括:
分析单元,用于根据所述运行环境信息分析所述未知crash的产生原因。
12.如权利要求10或11所述的装置,其特征在于,所述确定单元还用于当所述判断单元判断所述日志信息包括堆栈信息时,确定所述目标应用程序在所述最近一次运行时产生非未知crash。
CN201410208363.4A 2014-05-16 2014-05-16 一种未知crash上报方法和装置 Active CN104978212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410208363.4A CN104978212B (zh) 2014-05-16 2014-05-16 一种未知crash上报方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410208363.4A CN104978212B (zh) 2014-05-16 2014-05-16 一种未知crash上报方法和装置

Publications (2)

Publication Number Publication Date
CN104978212A true CN104978212A (zh) 2015-10-14
CN104978212B CN104978212B (zh) 2019-08-23

Family

ID=54274749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410208363.4A Active CN104978212B (zh) 2014-05-16 2014-05-16 一种未知crash上报方法和装置

Country Status (1)

Country Link
CN (1) CN104978212B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201677A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 应用控制方法和系统
CN107305522A (zh) * 2016-04-21 2017-10-31 富士通株式会社 用于对应用程序的重复崩溃进行检测的装置和方法
CN109491860A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 应用程序的异常检测方法、终端设备及介质
CN111221671A (zh) * 2019-11-27 2020-06-02 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN115061883A (zh) * 2022-08-17 2022-09-16 中航信移动科技有限公司 一种基于weex的程序日志获取方法、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226499A (zh) * 2007-01-16 2008-07-23 国际商业机器公司 用于诊断应用程序的方法和系统
CN102413013A (zh) * 2011-11-21 2012-04-11 北京神州绿盟信息安全科技股份有限公司 网络异常行为检测方法及装置
CN103544071A (zh) * 2012-07-17 2014-01-29 阿里巴巴集团控股有限公司 崩溃信息的处理方法、装置及系统
US20140068350A1 (en) * 2012-08-29 2014-03-06 Hon Hai Precision Industry Co., Ltd. Self-checking system and method using same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226499A (zh) * 2007-01-16 2008-07-23 国际商业机器公司 用于诊断应用程序的方法和系统
CN102413013A (zh) * 2011-11-21 2012-04-11 北京神州绿盟信息安全科技股份有限公司 网络异常行为检测方法及装置
CN103544071A (zh) * 2012-07-17 2014-01-29 阿里巴巴集团控股有限公司 崩溃信息的处理方法、装置及系统
US20140068350A1 (en) * 2012-08-29 2014-03-06 Hon Hai Precision Industry Co., Ltd. Self-checking system and method using same

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305522A (zh) * 2016-04-21 2017-10-31 富士通株式会社 用于对应用程序的重复崩溃进行检测的装置和方法
CN106201677A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 应用控制方法和系统
CN109491860A (zh) * 2018-10-17 2019-03-19 深圳壹账通智能科技有限公司 应用程序的异常检测方法、终端设备及介质
CN111221671A (zh) * 2019-11-27 2020-06-02 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN111221671B (zh) * 2019-11-27 2024-03-22 中国银行股份有限公司 应用程序异常退出的处理方法及装置
CN115061883A (zh) * 2022-08-17 2022-09-16 中航信移动科技有限公司 一种基于weex的程序日志获取方法、存储介质及电子设备
CN115061883B (zh) * 2022-08-17 2022-11-04 中航信移动科技有限公司 一种基于weex的程序日志获取方法、存储介质及电子设备

Also Published As

Publication number Publication date
CN104978212B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN108984389B (zh) 一种应用程序测试方法及终端设备
CN104978212A (zh) 一种未知crash上报方法和装置
CN105099811A (zh) 一种接口测试方法和装置
CN104834602B (zh) 一种程序发布方法、装置和程序发布系统
CN110989926B (zh) 故障磁盘槽位定位方法、装置及电子设备
CN109302423B (zh) 一种漏洞扫描能力测试方法和装置
CN103823754A (zh) 一种实现自动测试的方法及装置
CN104202201A (zh) 一种日志处理方法、装置及终端
CN104135424A (zh) 一种应用消息推送方法、服务器、终端以及系统
CN109144858B (zh) 流畅度检测方法、装置、计算设备及存储介质
CN104123324A (zh) 一种未读消息的定位获取方法及装置
CN105045714A (zh) 一种应用软件启动时长的测试方法、装置及终端
CN114095567A (zh) 数据访问请求的处理方法、装置、计算机设备及介质
CN113473086A (zh) 视频播放的方法、装置、电子设备、智慧高速大屏
CN104981028A (zh) 一种无线网络接入方法及相关设备
CN109656791B (zh) 一种基于Jmeter的gRPC性能测试方法及装置
CN111382436B (zh) 检测用于异常系统的兼容系统的方法
CN111241547B (zh) 一种越权漏洞的检测方法、装置及系统
CN116127230B (zh) 网页的防护规则的生成方法、装置、设备和介质
CN108834171B (zh) 画像方法及装置
CN110503504B (zh) 网络产品的信息识别方法、装置及设备
CN108255715B (zh) 一种测试结果处理方法及终端设备
CN104809122A (zh) 一种访问网页的方法及装置
CN114025014B (zh) 一种资产探测方法、装置、电子设备及存储介质
CN111597093A (zh) 一种异常处理方法、装置及其设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant