捕获应用程序崩溃信息的方法及相关设备技术

技术编号:24455236 阅读:23 留言:0更新日期:2020-06-10 15:21
本公开提供了一种捕获应用程序崩溃信息的方法、装置、计算机可读存储介质及电子设备。该方法包括:当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件;拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件;将所述崩溃信息的可读文件上传至服务器,以便于所述服务器根据所述崩溃信息的可读文件定位和分析所述应用程序的本地崩溃。通过本公开实施例提供的技术方案,可以提高本地崩溃定位的效率,降低服务器端的计算资源耗费量。

Methods of capturing application crash information and related devices

【技术实现步骤摘要】
捕获应用程序崩溃信息的方法及相关设备
本公开涉及计算机
,具体而言,涉及一种捕获应用程序崩溃信息的方法、装置、计算机可读存储介质及电子设备。
技术介绍
随着计算机应用的发展,满足用户各种计算机应用程序层出不穷。然而,应用程序运行过程中,有时会发生程序崩溃的现象,无论是指针越界还是非法操作,都将给系统造成巨大的损失。但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事。因此,亟需一种在应用程序发生崩溃的时候记录下产品崩溃的原因,以方便产品开发人员及时定位到程序的出错的代码,提高代码的质量及产品的稳定性的技术方案。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开实施例的目的在于提供一种捕获应用程序崩溃信息的方法、装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服相关技术中存在的定位应用程序崩溃效率较低的问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开实施例的一方面,提供了一种捕获应用程序崩溃信息的方法,包括:当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件;拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件;将所述崩溃信息的可读文件上传至服务器,以便于所述服务器根据所述崩溃信息的可读文件定位和分析所述应用程序的本地崩溃。根据本公开实施例的一方面,提供了一种捕获应用程序崩溃信息的装置,包括:崩溃信息写入单元,用于当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件;崩溃信息拦截单元,用于拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;可读文件生成单元,用于根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件;可读文件上传单元,用于将所述崩溃信息的可读文件上传至服务器,以便于所述服务器根据所述崩溃信息的可读文件定位和分析所述应用程序的本地崩溃。根据本公开实施例的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的捕获应用程序崩溃信息的方法。根据本公开实施例的一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的捕获应用程序崩溃信息的方法。在本公开的一些实施例所提供的技术方案中,提供了一种能够捕获原生(native)层崩溃的方式,通过对本地生成的崩溃文件(当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件)进行拦截,进行本地直接解析(拦截将要写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件),在本地生成本地崩溃的崩溃信息的可读文件,该可读文件包括的是可读可直接查看的字符串信息,使得上传到服务器的是字符串信息,这样服务器可以直接查看,避免了服务器执行大量的可执行文件来解析转储文件(dump文件),一方面,本地解析一步到位,可以不需要将转储文件上传至服务器;另一方面,可以降低服务器的CPU(centralprocessingunit,中央处理器)和内存空间的消耗量,有利于服务器快速、及时地定位到应用程序的本地崩溃并对其进行分析,以改进应用程序。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示出了可以应用本公开实施例的捕获应用程序崩溃信息的方法或捕获应用程序崩溃信息的装置的示例性系统架构的示意图;图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;图3示意性示出了根据本公开的一实施例的捕获应用程序崩溃信息的方法的流程图;图4示意性示出了根据本公开的一实施例的捕获应用程序崩溃信息的方法的示意图;图5示意性示出了根据本公开的一实施例的捕获应用程序崩溃信息的方法的流程图;图6示意性示出了根据本公开的一实施例的捕获应用程序崩溃信息的方法的流程图;图7示意性示出了根据本公开的一个实施例的捕获应用程序崩溃信息的装置的框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。图1示出了可以应用本公开实施例的捕获应用程序崩溃信息的方法或捕获应用程序崩溃信息的装置的示例性系统架构100的示意图。如图1所示,系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群、云端服务器等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机、可穿戴智能设备、智能家居设备本文档来自技高网...

【技术保护点】
1.一种捕获应用程序崩溃信息的方法,其特征在于,包括:/n当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件;/n拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;/n根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件;/n将所述崩溃信息的可读文件上传至服务器,以便于所述服务器根据所述崩溃信息的可读文件定位和分析所述应用程序的本地崩溃。/n

【技术特征摘要】
1.一种捕获应用程序崩溃信息的方法,其特征在于,包括:
当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件;
拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;
根据所述预定义全局变量中的字符串,生成所述崩溃信息的可读文件;
将所述崩溃信息的可读文件上传至服务器,以便于所述服务器根据所述崩溃信息的可读文件定位和分析所述应用程序的本地崩溃。


2.根据权利要求1所述的方法,其特征在于,还包括:
获取崩溃捕获工具的源码文件,其包括客户端文件夹、通用文件夹、解析器文件夹和崩溃捕获工具文件夹;
将所述客户端文件夹、所述通用文件夹、所述解析器文件夹和所述崩溃捕获工具文件夹复制至所述应用程序的JAVA本地接口目录下,所述解析器文件夹中包括解析器的移植文件;
在构建配置文件中加入所述JAVA本地接口目录中的文件。


3.根据权利要求2所述的方法,其特征在于,还包括:
调用所述崩溃捕获工具文件夹中定义的初始化类进行初始化,编写所述应用程序发生本地崩溃时的回调函数,以用于当检测到所述应用程序发生本地崩溃时,将发生本地崩溃的崩溃信息写入转储文件中。


4.根据权利要求2所述的方法,其特征在于,还包括:
利用所述解析器的移植文件将所述解析器的目录复制到所述JAVA本地接口目录下;
在所述构建配置文件中加入所述解析器的目录中的文件。


5.根据权利要求4所述的方法,其特征在于,还包括:
在所述解析器的目录下的异常信息存储处理文件中查找到打印函数;
对所述打印函数进行修改,以用于拦截写入所述转储文件的崩溃信息,保存所述崩溃信息的字符串到预定义全局变量中;
编写拼接函数,以用于根据所述预定义全...

【专利技术属性】
技术研发人员:谢开兵高岳
申请(专利权)人:同盾控股有限公司
类型:发明
国别省市:浙江;33

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

1