[发明专利]崩溃定位方法、装置及电子设备有效
申请号: | 202010088314.7 | 申请日: | 2020-02-12 |
公开(公告)号: | CN111258803B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 熊勋泉 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30;G06F11/34 |
代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 朱智勇 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 崩溃 定位 方法 装置 电子设备 | ||
本公开实施例提供了一种崩溃定位方法、装置及电子设备,属于计算机应用技术领域,该方法包括:监听目标应用程序的运行状态;在监听到崩溃时,提取崩溃堆栈的地址;获取目标软件工具开发包的函数地址;判断所述崩溃堆栈的地址是否与所述目标软件工具开发包的函数地址相匹配;若所述崩溃堆栈的地址与所述目标软件工具开发包的函数地址相匹配,则定位发生所述崩溃的软件工具开发包是所述目标软件工具开发包,反之则定位发生所述崩溃的软件工具开发包不是所述目标软件工具开发包。通过本公开的方案,可以主动监听崩溃并及时定位发生崩溃的软件工具开发包,提高了崩溃定位方案的时效性和准确性。
技术领域
本公开涉及计算机应用技术领域,尤其涉及一种崩溃定位方法、装置及电子设备。
背景技术
现有的电子设备内安装有多个应用程序(APPlication,简称APP),应用程序通常由第三方提供。应用程序启动后,可能因为各种原因导致APP崩溃,例如设备碎片化、带宽限制、网络变化、内存管理、用户过多、代码错误或第三方服务等可能原因。在制作软件工具开发包(Software Development Kit,简称SDK)时,第三方不会同时提供用于解析崩溃的函数符号。APP发生崩溃后,现有的崩溃处理方式是由APP用户向第三方服务器反馈崩溃问题描述信息,第三方根据服务器接收的崩溃问题描述信息,对崩溃进行跟踪定位与修复操作。受第三方操作进度影响,现有的崩溃解析方案存在定位不及时或者不准确的技术问题。
可见,现有的崩溃定位方案存在定位不及时或者不准确的技术问题。
发明内容
有鉴于此,本公开实施例提供一种崩溃定位方法、装置及电子设备,至少部分解决现有技术中存在的问题。
第一方面,本公开实施例提供了一种崩溃定位方法,包括:
监听目标应用程序的运行状态;
在监听到崩溃时,提取崩溃堆栈的地址;
获取目标软件工具开发包的函数地址;
判断所述崩溃堆栈的地址是否与所述目标软件工具开发包的函数地址相匹配;
若所述崩溃堆栈的地址与所述目标软件工具开发包的函数地址相匹配,则定位发生所述崩溃的软件工具开发包是所述目标软件工具开发包;
若所述崩溃堆栈的地址与所述目标软件工具开发包的函数地址不匹配,则确定发生所述崩溃的软件工具开发包不是所述目标软件工具开发包。
根据本公开实施例的一种具体实现方式,所述获取目标软件工具开发包的函数地址的步骤,包括:
获取所述目标软件工具开发包的函数地址区间;
所述判断所述崩溃堆栈的地址是否与所述目标软件工具开发包的函数地址相匹配的步骤,包括:
判断所述崩溃堆栈的地址是否位于所述目标软件工具开发包的函数地址区间内。
根据本公开实施例的一种具体实现方式,所述获取所述目标软件工具开发包的函数地址区间的步骤,包括:
获取所述目标软件工具开发包的首函数地址和尾函数地址;
根据所述首函数地址和尾函数地址得到所述目标软件工具开发包的函数地址区间。
根据本公开实施例的一种具体实现方式,所述获取所述目标软件工具开发包的首函数地址和尾函数地址的步骤,包括:
在所述目标软件工具开发包的编译文件列表中的第一个位置的文件中写回调函数,得到所述首函数地址;
在所述目标软件工具开发包的编译文件列表中的最后一个位置的文件中写回调函数,得到所述尾函数地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010088314.7/2.html,转载请声明来源钻瓜专利网。