对应用程序崩溃进行定位的方法和装置制造方法及图纸

技术编号:15297499 阅读:68 留言:0更新日期:2017-05-11 19:57
本发明专利技术公开了对应用程序崩溃进行定位的方法和装置。其中方法包括:在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息;在应用程序发生崩溃时,获取最后一次记录的运行成功信息;根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。该技术方案通过简单易行的处理方式,可以快速、准确地定位崩溃位置,有助于开发者对应用程序进行调整和完善。

Method and apparatus for positioning an application crash

The invention discloses a method and a device for positioning an application crash. The method comprises the following steps: at the end of each phase of the application after the operation, the successful operation of the information recording stage; in the crash occurred when the application gets the last record of successful operation information; according to the last record of successful operation of the information, to determine the final stage of the application program run successfully, and determine the the stage for the next phase of collapse stage. This technology can be used to locate the crash location quickly and accurately, which is helpful for the developers to adjust and perfect the application program.

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及对应用程序崩溃进行定位的方法和装置
技术介绍
对应用程序而言,崩溃几乎是不可避免的事情。那么对于应用程序的开发者来说,根据崩溃的具体情况来对应用程序进行改进是非常有必要的,这就需要开发者获取崩溃时的相关信息,来判断应用程序的哪一段代码可能存在问题,因此需要对崩溃进行定位。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供克服上述问题或者至少部分地解决上述问题的对应用程序崩溃进行定位的方法和装置。依据本专利技术的一个方面,提供了一种对应用程序崩溃进行定位的方法,其中,所述应用程序根据运行顺序被划分为多个阶段,该方法包括:在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息;在应用程序发生崩溃时,获取最后一次记录的运行成功信息;根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。可选地,所述记录该阶段的运行成功信息包括:由与每个阶段对应的运行记录插件记录该阶段的运行成功信息。可选地,该方法还包括:以指定变量记录各阶段的运行成功信息。可选地,该方法还包括:在各运行记录插件中预设与相应阶段对应的阶段编号;在应用程序运行后,将所述指定变量初始化;所述由与每个阶段对应的运行记录插件记录该阶段的运行成功信息包括:将所述指定变量的值置为与该阶段对应的阶段编号。可选地,所述在应用程序发生崩溃时,获取最后一次记录的运行成功信息包括:在应用程序发生崩溃时,获取所述指定变量的值。可选地,所述根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段包括:将最后一次记录的运行成功信息上报至应用程序的服务器,由服务器根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。依据本专利技术的另一方面,提供了一种对应用程序崩溃进行定位的方法,包括:将应用程序根据运行顺序划分为多个阶段;将对应用程序崩溃进行定位的执行代码打包到应用程序的安装包中,所述对应用程序崩溃进行定位的执行代码适于执行如上述任一项所述的方法。可选地,所述将应用程序根据运行顺序划分为多个阶段包括:获取所述应用程序的源代码;根据所述应用程序的源代码的代码结构,将所述应用程序的源代码按执行顺序划分为多个部分。可选地,所述应用程序为经过加固的应用程序;该方法还包括:获取所述应用程序的加固壳程序的源代码;根据所述加固壳程序的源代码的代码结构,将所述加固壳程序的源代码按执行顺序划分为多个部分。可选地,该方法还包括:依照各部分代码的执行顺序,为每部分代码分配相应的编号。依据本专利技术的又一方面,提供了一种对应用程序崩溃进行定位的装置,其中,所述应用程序根据运行顺序被划分为多个阶段,该装置包括:记录单元,适于在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息;获取单元,适于在应用程序发生崩溃时,获取最后一次记录的运行成功信息;定位单元,适于根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。可选地,所述记录单元包括:与每个阶段对应的记录子单元;所述记录子单元,适于记录其对应的阶段的运行成功信息。可选地,所述记录单元,适于以指定变量记录各阶段的运行成功信息。可选地,各所述记录子单元中预设有与相应阶段对应的阶段编号;所述记录单元,还适于在应用程序运行后,将所述指定变量初始化;所述记录子单元,适于将所述指定变量的值置为与该记录子单元对应的阶段的阶段编号。可选地,所述获取单元,适于在应用程序发生崩溃时,获取所述指定变量的值。可选地,所述定位单元,适于将最后一次记录的运行成功信息上报至应用程序的服务器,由服务器根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。依据本专利技术的再一方面,提供了一种对应用程序崩溃进行定位的装置,其中,该装置包括:分析单元,适于将应用程序根据运行顺序划分为多个阶段;修改单元,将如上述任一项所述的装置打包到应用程序的安装包中。可选地,所述分析单元,适于获取所述应用程序的源代码,根据所述应用程序的源代码的代码结构,将所述应用程序的源代码按执行顺序划分为多个部分。可选地,所述应用程序为经过加固的应用程序;所述分析单元,适于获取所述应用程序的加固壳程序的源代码,根据所述加固壳程序的源代码的代码结构,将所述加固壳程序的源代码按执行顺序划分为多个部分。可选地,所述修改单元,适于依照各部分代码的执行顺序,为每部分代码分配相应的编号。由上述可知,本专利技术的技术方案,通过记录应用程序在每个阶段的成功运行信息,可以在应用程序发生崩溃时根据最后一次记录的运行成功信息定位到最后一次成功运行的阶段,那么该阶段的下一阶段就是发生崩溃的阶段。该技术方案通过简单易行的处理方式,可以快速、准确地定位崩溃位置,有助于开发者对应用程序进行调整和完善。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种对应用程序崩溃进行定位的方法的流程示意图;图2示出了根据本专利技术一个实施例的另一种对应用程序崩溃进行定位的方法的流程示意图;图3示出了根据本专利技术一个实施例的一种对应用程序崩溃进行定位的装置的结构示意图;图4示出了根据本专利技术一个实施例的另一种对应用程序崩溃进行定位的装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种对应用程序崩溃进行定位的方法的流程示意图,其中,应用程序根据运行顺序被划分为多个阶段。如图1所示,该方法包括:步骤S110,在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息。步骤S120,在应用程序发生崩溃时,获取最后一次记录的运行成功信息。步骤S130,根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。许多应用程序在发生崩溃时,都会获取许多信息(例如,日志信息)作为崩溃的相关信息,开发者可以根据这些信息定位崩溃,但这往往并不能快速准确地实现崩溃定位。例如,应用程序在调用系统接口A时发生了崩溃,此时搜集到的崩溃信息是系统的一些相关模块,而不包括应用程序本身的模块,这时开发者需要对大量的崩溃信息进行分析,才能定位到应用程序发生崩溃的具体模块。可见,图1所示的方法,通过记录应用程序在每个阶段的成功运行信息,可以在应用程序发生崩溃时根据最后一本文档来自技高网...
对应用程序崩溃进行定位的方法和装置

【技术保护点】
一种对应用程序崩溃进行定位的方法,其中,所述应用程序根据运行顺序被划分为多个阶段,该方法包括:在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息;在应用程序发生崩溃时,获取最后一次记录的运行成功信息;根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。

【技术特征摘要】
1.一种对应用程序崩溃进行定位的方法,其中,所述应用程序根据运行顺序被划分为多个阶段,该方法包括:在应用程序的每个阶段运行结束后,记录该阶段的运行成功信息;在应用程序发生崩溃时,获取最后一次记录的运行成功信息;根据最后一次记录的运行成功信息,确定该应用程序成功运行的最后一个阶段,以及确定该阶段的下一个阶段为发生崩溃的阶段。2.如权利要求1所述的方法,其中,所述记录该阶段的运行成功信息包括:由与每个阶段对应的运行记录插件记录该阶段的运行成功信息。3.如权利要求2所述的方法,其中,该方法还包括:以指定变量记录各阶段的运行成功信息。4.一种对应用程序崩溃进行定位的方法,其中,该方法包括:将应用程序根据运行顺序划分为多个阶段;将对应用程序崩溃进行定位的执行代码打包到应用程序的安装包中,所述对应用程序崩溃进行定位的执行代码适于执行如权利要求1-3中任一项所述的方法。5.如权利要求4所述的方法,其中,所述将应用程序根据运行顺序划分为多个阶段包括:获取所述应用程序的源代码;根据所述应用程序的源代码的代码结构,将所述应用程序的源代码按执行顺序划...

【专利技术属性】
技术研发人员:吴乐
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

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

1