[发明专利]应用程序崩溃原因的定位方法及装置有效
申请号: | 201611031557.7 | 申请日: | 2016-11-18 |
公开(公告)号: | CN108073495B | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 朱辉云;胡育辉;陈焕葵;张少愚;覃竞才;曾岳锋;陈云云 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/36 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 朱雅男 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 崩溃 原因 定位 方法 装置 | ||
本发明公开了一种应用程序崩溃原因的定位方法及装置,属于计算机技术领域。该方法包括:根据应用程序的崩溃记录文件,确定应用程序崩溃之前所运行的代码中具有导致崩溃可能性的第一定位信息集合;根据预设的系统函数或语句类型与错误类型之间的对应关系对应用程序的源文件进行分析,得到源文件中具有导致崩溃可能性第二定位信息集合;将第一定位信息集合与第二定位信息集合进行匹配,根据匹配结果,确定实际导致崩溃目标定位信息集合。通过根据预设经验规则对崩溃记录文件和源文件进行综合分析,便可得到导致崩溃的实际代码位置,使得开发人员无需进行人工干预便可完成对崩溃原因的准确定位,大大缩减了定位所需的时间,提高了开发效率。
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序崩溃原因的定位方法及装置。
背景技术
在应用程序测试时或者线上运行的过程中,可能会由于各种原因导致应用程序崩溃,使得应用程序停止工作。为了使应用程序能够正常运行,开发人员通常需要定位导致应用程序崩溃的代码位置,从而获知导致崩溃的原因。
现有技术中,当应用程序崩溃时,终端系统会生成一个崩溃记录文件,该崩溃记录文件是一个二进制文件,其中记录了应用程序崩溃时的内存映像,比如应用程序中数据或函数的存储地址、函数调用的上下文信息等。在Linux系统中开发人员可以采用gdb调试工具来对该崩溃记录文件进行分析,从而定位导致应用程序崩溃的代码位置,具体过程可以为:开发人员在gdb调试工具中输入崩溃记录文件的读取命令,使得gdb读取该崩溃记录文件;接下来,开发人员通过输入where命令来定位发生崩溃时应用程序所运行的代码位置;然后开发人员基于该发生崩溃时所运行的代码位置在gdb调试工具中输入堆栈打印命令,以使gdb调试工具输出与发生崩溃的代码位置相关的堆栈信息,该堆栈信息用于指示发生崩溃之前应用程序的函数调用关系。开发人员可以根据自己的经验和堆栈信息,猜测可能出错的代码位置,并通过人工排查的方式对相应的源代码进行分析,以定位可能导致崩溃的代码位置,从而获知应用程序的崩溃原因。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
对崩溃原因进行定位的过程中需要依靠开发人员不断进行人工干预,例如在不同的阶段输入各种命令,使得gdb调试工具来执行相应操作,并且开发人员还要不断地查看源代码并对源代码进行人工分析,使得定位过程耗时长,且开发效率低。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用程序崩溃原因的定位方法及装置。所述技术方案如下:
一方面,提供了一种应用程序崩溃原因的定位方法,所述方法包括:
根据应用程序的崩溃记录文件,确定第一定位信息集合,所述第一定位信息集合用于指示所述应用程序崩溃之前所运行的代码中具有导致崩溃可能性的代码位置;
根据预设的系统函数或语句类型与错误类型之间的对应关系,对所述应用程序的源文件进行分析,得到第二定位信息集合,所述第二定位信息集合用于指示所述源文件中具有导致崩溃可能性的代码位置;
将所述第一定位信息集合与所述第二定位信息集合进行匹配,根据匹配结果,确定目标定位信息集合,所述目标定位信息集合用于指示导致崩溃的实际代码位置。
另一方面,提供了一种应用程序崩溃原因的定位装置,所述装置包括:
确定模块,用于根据应用程序的崩溃记录文件,确定第一定位信息集合,所述第一定位信息集合用于指示所述应用程序崩溃之前所运行的代码中具有导致崩溃可能性的代码位置;
分析模块,用于根据预设的系统函数或语句类型与错误类型之间的对应关系,对所述应用程序的源文件进行分析,得到第二定位信息集合,所述第二定位信息集合用于指示所述源文件中具有导致崩溃可能性的代码位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611031557.7/2.html,转载请声明来源钻瓜专利网。