CN116909800A - 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 - Google Patents
崩溃信息的定位方法、崩溃信息的定位装置及存储介质 Download PDFInfo
- Publication number
- CN116909800A CN116909800A CN202311178987.1A CN202311178987A CN116909800A CN 116909800 A CN116909800 A CN 116909800A CN 202311178987 A CN202311178987 A CN 202311178987A CN 116909800 A CN116909800 A CN 116909800A
- Authority
- CN
- China
- Prior art keywords
- crash
- information
- file
- address
- breakdown
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000015556 catabolic process Effects 0.000 claims abstract description 78
- 238000011161 development Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 75
- 230000008439 repair process Effects 0.000 claims description 40
- 230000010365 information processing Effects 0.000 claims description 33
- 238000004088 simulation Methods 0.000 claims description 25
- 238000012795 verification Methods 0.000 claims description 22
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 10
- 230000004807 localization Effects 0.000 claims 3
- 230000000875 corresponding effect Effects 0.000 description 45
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了崩溃信息的定位方法、崩溃信息的定位装置及存储介质,其中,所述方法包括以下步骤:获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端;或者当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端。本发明通过获取崩溃文件和崩溃日志后,基于崩溃文件和崩溃日志得到用于对崩溃信息进行定位的崩溃地址或崩溃问题,进而将崩溃地址或崩溃问题反馈至开发客户端,进而提高崩溃信息的定位效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及崩溃信息的定位方法、崩溃信息的定位装置及存储介质。
背景技术
由于自身设计的缺陷、手机设备型号的不同或操作的差别,都会导致应用程序(app)在运行时出现崩溃的状况。
在应用程序出现崩溃时,开发者只能看到崩溃或程序卡顿的提示信息,无法接收到用户的操作日志或崩溃文件,测试人员需要准备各种型号测试机复现用户反馈的问题。然而,由于无法确认用户具体操作,根据猜测进行复现并抓取log(日志)的方式,存在崩溃信息定位效率低的缺陷。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种崩溃信息的定位方法、崩溃信息的定位装置及存储介质,解决现有技术中崩溃信息定位效率低的缺陷的问题。
为实现上述目的,本发明提供一种崩溃信息的定位方法,所述方法包括以下步骤:
获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;
当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;
根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位;或者
当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位。
可选地,所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位的步骤包括:
根据所述设备信息确定远程模拟设备,并根据所述远程模拟设备以及所述操作记录对所述应用程序进行远程复现处理;
确定所述远程复现处理对应的处理结果,并将所述处理结果作为所述崩溃问题;
将所述崩溃问题发送至所述开发客户端,以使所述开发人员基于所述崩溃问题对所述崩溃信息进行定位。
可选地,所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤包括:
获取异常代码解析文件,并根据所述异常代码解析文件对所述崩溃文件进行解析处理;
确定解析处理后的所述崩溃文件的错误代码信息,并根据所述错误代码信息生成所述崩溃地址。
可选地,所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤包括:
获取所述应用程序触发崩溃指令时对应的所述崩溃文件和所述崩溃日志后,根据所述设备信息获取调试文件或映射文件;
根据所述调试文件或所述映射文件确定所述崩溃指令对应的崩溃类型,以及所述崩溃类型对应的崩溃频率;
在所述崩溃频率大于预设频率时,输出告警提示,并执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤;或者
在所述崩溃频率小于或等于所述预设频率时,执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
可选地,所述将所述崩溃问题发送至开发客户端或者所述将所述崩溃地址发送至所述开发客户端的步骤之前,还包括:
确定所述崩溃地址或所述崩溃问题对应的处理等级;
在所述处理等级小于或等于预设处理等级时,基于所述崩溃地址或所述崩溃问题对所述应用程序进行修复处理;或者
在所述处理等级大于所述预设处理等级时,执行所述将所述崩溃问题发送至所述开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位的步骤,或者执行所述将所述崩溃地址发送至开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位的步骤。
可选地,所述将所述崩溃问题发送至开发客户端或者所述将所述崩溃地址发送至所述开发客户端的步骤之后,还包括:
接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理;
在所述校验处理的结果为通过时,输出所述应用程序修复完成的信息;或者
在所述校验处理的结果为不通过时,跳转执行所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题的步骤。
可选地,所述接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理的步骤包括:
接收所述修复程序后,根据所述设备信息确定目标远程模拟设备,并将所述修复程序发送至所述目标远程模拟设备;
基于所述操作记录以及所述目标远程模拟设备,对所述修复程序进行校验处理。
可选地,所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤之前,还包括:
监听程序监听到所述应用程序触发所述崩溃指令时,确定所述崩溃文件,信息反馈系统获取接收到的崩溃日志;
所述监听程序将所述崩溃文件发送至信息处理系统,以及所述信息反馈系统将所述崩溃日志发送至所述信息处理系统,以使所述信息处理系统执行所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
此外,为实现上述目的,本发明还提供一种崩溃信息的定位装置,所述崩溃信息的定位装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的崩溃信息的定位程序,所述崩溃信息的定位程序被所述处理器执行时实现如上所述的崩溃信息的定位方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有崩溃信息的定位程序,所述崩溃信息的定位程序被处理器执行时实现如上所述的崩溃信息的定位方法的步骤。
本发明实施例提供了崩溃信息的定位方法、崩溃信息的定位装置及存储介质,通过在应用程序触发崩溃指令时,获取应用程序崩溃时对应的崩溃文件和崩溃日志,进而根据崩溃文件确定应用程序的崩溃地址,若崩溃地址不存在,则基于崩溃日志对应的操作记录和设备信息确定应用程序的崩溃问题,并将崩溃问题发送至开发客户端,或者崩溃地址存在时,将崩溃地址发送至开发客户端,使得开发人员能够基于接收到的崩溃问题或崩溃地址对崩溃信息进行快速定位,进而提高了应用程序崩溃时崩溃信息定位效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明崩溃信息的定位方法的第一实施例的流程示意图;
图2为本发明崩溃信息的定位方法的第一实施例的步骤S30的细化流程示意图;
图3为本发明崩溃信息的定位方法的第二实施例的流程示意图;
图4为本发明崩溃信息的定位方法的第二实施例的另一流程示意图;
图5为本发明崩溃信息的定位方法的可选实现流程示意图;
图6是本发明崩溃信息的定位方法的各个实施例的终端硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在应用程序出现崩溃时,开发者只能看到崩溃或程序卡顿的提示信息,无法接收到用户的操作日志或崩溃文件,测试人员需要准备各种型号测试机复现用户反馈的问题。然而,由于无法确认用户具体操作,根据猜测进行复现并抓取log(日志)的方式,存在崩溃信息定位效率低的缺陷。
为解决上述缺陷,本发明实施例提出一种崩溃信息的定位方法,其主要解决方案包括以下步骤:
获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;
当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;
根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位;或者
当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位。
本发明通过获取崩溃文件和崩溃信息,并基于崩溃文件和崩溃信息得到用于对崩溃信息进行定位的崩溃地址或崩溃问题,进而将崩溃地址或崩溃问题反馈至开发客户端,进而提高崩溃信息的定位效率。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
第一实施例
请参照图1,在第一实施例中,本发明崩溃信息的定位方法的步骤包括:
步骤S10,获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;
在本实施例中,监听程序监听到应用程序触发崩溃指令时,能够确定相应的崩溃文件,具体地,在app(application,应用程序)监听程序监听到app的崩溃、卡顿信息时,能够对崩溃文件及相关信息进行收集,崩溃文件包括Crash(崩溃)文件,相关信息包括崩溃时涉及的页面堆栈信息、点击等页面操作信息、设备型号、操作系统、电量、cpu(CentralProcessing Unit,中央处理器)、内存等基本设备信息、开发者日志打印信息等。此时app监听程序能够将崩溃文件以及崩溃时的相关信息发送至信息处理系统。与此同时,当应用程序发生崩溃时,用户可以将用户的登录信息、用户操作的页面堆栈信息、操作信息、设备型号、操作系统、电量、cpu、内存等基本设备信息、开发者日志打印信息等崩溃日志上传至信息反馈系统中,由信息反馈系统将该崩溃日志发送至信息处理系统。其中,应用程序触发崩溃指令指的是应用程序执行程序设定好的出现崩溃时的代码动作。
因此,在信息处理系统获取到应用程序触发崩溃指令时对应的崩溃文件如Crash文件,以及崩溃日志如用户信息及操作记录、设备信息时,此时信息处理系统可以通过指针定位的方式,自动定位到具体哪一行代码导致的崩溃或者卡顿,也即确定所述崩溃地址。崩溃地址指的是异常代码的位置。
可选地,信息处理系统除了能够自动定位到代码位置外,还可通过获取异常代码解析文件的方式,通过该解析文件对崩溃文件也即crash文件进行解析处理,并确定解析处理后的崩溃文件的错误代码信息,根据错误代码信息生成所述崩溃地址也即异常代码所处的位置。基于此,在得到异常代码所处的位置后,信息处理系统能够将异常代码位置发送至开发人员对应的开发客户端中,以使得开发人员能够快速对崩溃信息进行定位,避免开发人员采用手动复现的方式才能对崩溃信息进行定位的问题,提高了崩溃信息的定位效率。
可选地,在本实施例中,若当前应用程序触发崩溃指令的频率较为频繁,则需要向开发人员反馈相应的告警信息,进而提高开发人员对当前应用程序的处理优先级,进而提高崩溃信息的定位效率。因此,在信息处理系统获取到所述崩溃文件和所述崩溃日志后,需要根据所述崩溃日志的设备信息获取调试文件或映射文件,其中,调试文件为dSYM(debugsymbol,调试符号)文件,映射文件为mapping(映射)文件。当崩溃日志中对应的设备信息为ios(一种操作系统)设备时,此时需要获取dSYM文件,若设备信息为Android设备时,此时需要获取mapping文件。在获取到相应的文件后,可以通过该文件对崩溃信息进行自动解析,进而得到崩溃指令对应的崩溃类型,随后确定崩溃类型对应的崩溃频率。在崩溃频率大于预设频率时,也即当前应用程序出现同一类型的崩溃次数过多时,信息处理系统需要向开发客户端输出相应的告警提示,随后再执行根据崩溃文件确定应用程序的崩溃地址的步骤。而在崩溃频率小于或等于预设频率时,则可以直接执行根据崩溃文件确定应用程序的崩溃地址的步骤。
步骤S20,当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;
在本实施例中,若信息处理系统出现指针无法定位具体哪行代码的问题时,也即获取到了崩溃文件而无法基于崩溃文件得到用于对崩溃信息进行定位的错误代码地址时,此时需要根据崩溃日志得到用于崩溃信息定位的崩溃问题。
步骤S30,根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位;
在本实施例中,在崩溃地址不存在时,可以根据崩溃日志中的用户信息及操作记录以及设备信息连接到远程真机,并基于远程真机进行自动复现,从而确定具体哪个页面模块引起的卡顿或崩溃。
具体地,请参照图2,步骤S30包括:
步骤S31,根据所述设备信息确定远程模拟设备,并根据所述远程模拟设备以及所述操作记录对所述应用程序进行远程复现处理;
在本实施例中,若设备为安卓操作系统的设备,则相应的远程模拟设备同样为安卓设备,其他操作系统同理。
示例性地,崩溃日志中对应的设备信息为安卓设备,型号为A厂商A1型号,信息处理系统中不存在同款远程设备,而选定到最接近的模拟设备A厂商A2型号模拟设备作为所述远程模拟设备。随后信息处理系统根据当前的操作记录自动复现操作场景,进而得到远程复现对应的用于表示程序出现崩溃的处理结果。
步骤S32,确定所述远程复现处理对应的处理结果,并将所述处理结果作为所述崩溃问题;
在本实施例中,在信息处理系统得到的处理结果为“登录页面内存占用过大”时,相应的崩溃问题则为“登录页面内存占用过大”或“登录功能模块内存占用过大”。
步骤S33,将所述崩溃问题发送至所述开发客户端,以使所述开发人员基于所述崩溃问题对所述崩溃信息进行定位。
示例性地,在得到“登录页面内存占用过大”的崩溃问题后,信息处理系统将该崩溃问题发送至开发客户端,相应的开发人员能够直接根据该崩溃问题定位到登录界面对应的代码区域中,进而对该区域的代码或相关模块进行优化处理。
步骤S40,当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位。
在本实施例中,崩溃地址也即错误代码的地址能被指针成功定位,此时可以直接将崩溃地址发送至所述开发客户端,进而信息处理系统可以省去对崩溃日志做进一步的处理的步骤,提高用于崩溃信息定位的数据的发送效率,能够进一步提高崩溃信息的定位效率。
可选地,当存在某些较为简单的崩溃问题时,可以由信息处理系统对其进行修复处理。具体地,在将所述崩溃地址或所述崩溃问题发送至所述开发客户端之前,确定所述崩溃地址或所述崩溃问题对应的处理等级,当所述处理等级小于或等于预设处理等级时,说明当前崩溃信息可以由信息处理系统自行解决,此时可以直接基于崩溃地址或崩溃问题对所述应用程序进行修复处理,进而退出当前的处理步骤。而在处理等级大于所述预设处理等级时,则需要将所述崩溃问题后所述崩溃地址发送至所述开发客户端,并由所述开发人员进行相应的崩溃信息的定位和处理。
在本实施例公开的技术方案中,通过对应用程序崩溃时的崩溃文件进行自动解析得到崩溃地址或者根据崩溃日志中的设备信息和操作记录进行远程自动复现,得到崩溃问题,随后将崩溃问题提交到开发客户端中,使得开发人员能够直接根据崩溃地址或崩溃问题提供的关键线索快速定位到应用程序的具体代码或原因,减少开发人员的调试时间,提高崩溃信息的定位效率,同时能够避免不必要的干扰因素影响崩溃信息的定位。
第二实施例
请参照图3和图4,在第二实施例中,基于第一实施例,步骤S30或步骤S40之后,还包括:
步骤S50,接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理;
在本实施例中,当开发人员对崩溃信息进行修复处理后,需要确保修复的有效性、稳定性以及可靠性,能够避免在修复过程中引入了新的问题的同时,需要基于修复操作确保修复后的应用程序能够进行执行对应的动作。因此,在信息处理系统接收到所述修复程序后,需要根据所述崩溃日志中对应的设备信息确定用于校验修复有效性、稳定性以及可靠性的目标远程模拟设备,并将该修复程序发送至目标远程模拟设备当中,以便信息处理系统能够基于操作记录和目标远程模拟设备对修复程序进行修复后的校验处理。
可选地,除了通过模拟设备对修复程序进行校验处理外,还可以通过静态代码分析、阿尔法测试以及贝塔测试等,对当前已修复程序的代码或已修复程序进行测试。
步骤S60,在所述校验处理的结果为通过时,输出所述应用程序修复完成的信息;
在本实施例中,校验处理的结果为通过时,说明当前的出现崩溃的应用程序已被修复,此时在开发客户端中输出程序修复完成的信息。
步骤S70,在所述校验处理的结果为不通过时,跳转执行所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题的步骤。
在本实施例中,校验处理的结果为不通过,说明开发人员的修复过程并未解决应用程序崩溃的根本原因,也即可能崩溃地址出现错误或者是进行远程复现时,未复现出应用程序崩溃的根本原因,因而需要直接跳转到根据操作记录以及设备信息确定应用程序的崩溃问题的步骤,进而重新确定当前的崩溃问题,以便开发人员能够重新对该应用程序进行修复处理。
在本实施例公开的技术方案中,信息处理系统将崩溃地址或崩溃问题发送至开发客户端后,接收开发客户端反馈的修复程序,并基于修复程序进行校验处理,当校验通过说明当前的应用程序的崩溃信息已被准确定位,并解决,进而实现从程序崩溃到对程序崩溃信息进行定位及修复处理,再到验证通过的闭环处理。
第三实施例
在第三实施例中,本发明崩溃信息的定位方法的一可选实现流程如图5所示。
示例性的,当app出现崩溃或卡顿等状况时,监听程序监听崩溃文件并将所述崩溃文件、用户信息及操作记录以及设备信息发送至信息收集系统(也即信息处理系统),随后信息处理系统根据设备信息选定相应的文件解析出应用程序崩溃时对应的崩溃类型,当在某一时段内收到同类问题,则发出告警提示,并对crash文件进行自动解析,得到问题代码行(也即崩溃地址),当崩溃地址存在时,将崩溃地址发送至开发客户端以使开发人员基于崩溃地址找到崩溃信息对应的定位后,对其进行修复,而当崩溃地址不存在时,则信息处理系统直接根据远程真机以及用户的操作记录进行问题复现,并将复现的问题发送至开发客户端。当程序修复完成后,信息处理系统连接远程真机对已修复的程序进行校验处理,校验通过则结束,不通过,则需要重新基于远程真机进行问题的复现。
在本实施例公开的技术方案中,通过信息采集系统自动捕获和发送崩溃文件、操作记录和设备信息,减少了人工的介入和报告时间,加快了崩溃信息的定位效率,通过基于同类问题噶出告警提出,避免大规模的重复崩溃的发生,同时崩溃地址和崩溃问题能够有效帮助开发人员对崩溃信息进行定位,进而缩短故障的排查时间,提高定位效率。
参照图6,图6为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
如图6所示,该终端可以包括:处理器1001,例如中央处理器(CPU),通信总线1002、网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1004可以是高速的RAM存储器(Random Access Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图6中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、数据存储模块、网络通信模块以及崩溃信息的定位程序。
在图6所示的终端中,网络接口1003主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,并执行以下操作:
获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;
当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;
根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位;或者
当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
根据所述设备信息确定远程模拟设备,并根据所述远程模拟设备以及所述操作记录对所述应用程序进行远程复现处理;
确定所述远程复现处理对应的处理结果,并将所述处理结果作为所述崩溃问题;
将所述崩溃问题发送至所述开发客户端,以使所述开发人员基于所述崩溃问题对所述崩溃信息进行定位。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
获取异常代码解析文件,并根据所述异常代码解析文件对所述崩溃文件进行解析处理;
确定解析处理后的所述崩溃文件的错误代码信息,并根据所述错误代码信息生成所述崩溃地址。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
获取所述应用程序触发崩溃指令时对应的所述崩溃文件和所述崩溃日志后,根据所述设备信息获取调试文件或映射文件;
根据所述调试文件或所述映射文件确定所述崩溃指令对应的崩溃类型,以及所述崩溃类型对应的崩溃频率;
在所述崩溃频率大于预设频率时,输出告警提示,并执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤;或者
在所述崩溃频率小于或等于所述预设频率时,执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
确定所述崩溃地址或所述崩溃问题对应的处理等级;
在所述处理等级小于或等于预设处理等级时,基于所述崩溃地址或所述崩溃问题对所述应用程序进行修复处理;或者
在所述处理等级大于所述预设处理等级时,执行所述将所述崩溃问题发送至所述开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位的步骤,或者执行所述将所述崩溃地址发送至开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位的步骤。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理;
在所述校验处理的结果为通过时,输出所述应用程序修复完成的信息;或者
在所述校验处理的结果为不通过时,跳转执行所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题的步骤。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
接收所述修复程序后,根据所述设备信息确定目标远程模拟设备,并将所述修复程序发送至所述目标远程模拟设备;
基于所述操作记录以及所述目标远程模拟设备,对所述修复程序进行校验处理。
进一步地,处理器1001可以调用存储器1004中存储的崩溃信息的定位程序,还执行以下操作:
监听程序监听到所述应用程序触发所述崩溃指令时,确定所述崩溃文件,信息反馈系统获取接收到的崩溃日志;
所述监听程序将所述崩溃文件发送至信息处理系统,以及所述信息反馈系统将所述崩溃日志发送至所述信息处理系统,以使所述信息处理系统执行所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被控制终端中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有崩溃信息的定位程序,所述崩溃信息的定位程序被处理器执行时实现如上实施例所述的崩溃信息的定位方法的各个步骤。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种崩溃信息的定位方法,其特征在于,所述崩溃信息的定位方法包括:
获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址;
当所述崩溃地址不存在时,确定所述崩溃日志对应的操作记录及设备信息;
根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位;或者
当所述崩溃地址存在时,将所述崩溃地址发送至所述开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位。
2.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题,并将所述崩溃问题发送至开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位的步骤包括:
根据所述设备信息确定远程模拟设备,并根据所述远程模拟设备以及所述操作记录对所述应用程序进行远程复现处理;
确定所述远程复现处理对应的处理结果,并将所述处理结果作为所述崩溃问题;
将所述崩溃问题发送至所述开发客户端,以使所述开发人员基于所述崩溃问题对所述崩溃信息进行定位。
3.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤包括:
获取异常代码解析文件,并根据所述异常代码解析文件对所述崩溃文件进行解析处理;
确定解析处理后的所述崩溃文件的错误代码信息,并根据所述错误代码信息生成所述崩溃地址。
4.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤包括:
获取所述应用程序触发崩溃指令时对应的所述崩溃文件和所述崩溃日志后,根据所述设备信息获取调试文件或映射文件;
根据所述调试文件或所述映射文件确定所述崩溃指令对应的崩溃类型,以及所述崩溃类型对应的崩溃频率;
在所述崩溃频率大于预设频率时,输出告警提示,并执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤;或者
在所述崩溃频率小于或等于所述预设频率时,执行所述根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
5.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述将所述崩溃问题发送至开发客户端或者所述将所述崩溃地址发送至所述开发客户端的步骤之前,还包括:
确定所述崩溃地址或所述崩溃问题对应的处理等级;
在所述处理等级小于或等于预设处理等级时,基于所述崩溃地址或所述崩溃问题对所述应用程序进行修复处理;或者
在所述处理等级大于所述预设处理等级时,执行所述将所述崩溃问题发送至所述开发客户端,以使开发人员基于所述崩溃问题对所述崩溃信息进行定位的步骤,或者执行所述将所述崩溃地址发送至开发客户端,以使所述开发人员基于所述崩溃地址对所述崩溃信息进行定位的步骤。
6.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述将所述崩溃问题发送至开发客户端或者所述将所述崩溃地址发送至所述开发客户端的步骤之后,还包括:
接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理;
在所述校验处理的结果为通过时,输出所述应用程序修复完成的信息;或者
在所述校验处理的结果为不通过时,跳转执行所述根据所述操作记录以及所述设备信息确定所述应用程序的崩溃问题的步骤。
7.如权利要求6所述的崩溃信息的定位方法,其特征在于,所述接收所述开发客户端发送的修复程序,并根据所述操作记录以及所述设备信息对所述修复程序进行校验处理的步骤包括:
接收所述修复程序后,根据所述设备信息确定目标远程模拟设备,并将所述修复程序发送至所述目标远程模拟设备;
基于所述操作记录以及所述目标远程模拟设备,对所述修复程序进行校验处理。
8.如权利要求1所述的崩溃信息的定位方法,其特征在于,所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤之前,还包括:
监听程序监听到所述应用程序触发所述崩溃指令时,确定所述崩溃文件,信息反馈系统获取接收到的崩溃日志;
所述监听程序将所述崩溃文件发送至信息处理系统,以及所述信息反馈系统将所述崩溃日志发送至所述信息处理系统,以使所述信息处理系统执行所述获取应用程序触发崩溃指令时对应的崩溃文件和崩溃日志,并根据所述崩溃文件确定所述应用程序的崩溃地址的步骤。
9.一种崩溃信息的定位装置,其特征在于,所述崩溃信息的定位装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的崩溃信息的定位程序,所述崩溃信息的定位程序被所述处理器执行时实现如权利要求1至8中任一项所述的崩溃信息的定位方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有崩溃信息的定位程序,所述崩溃信息的定位程序被处理器执行时实现如权利要求1至8中任一项所述的崩溃信息的定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178987.1A CN116909800B (zh) | 2023-09-13 | 2023-09-13 | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178987.1A CN116909800B (zh) | 2023-09-13 | 2023-09-13 | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909800A true CN116909800A (zh) | 2023-10-20 |
CN116909800B CN116909800B (zh) | 2024-03-08 |
Family
ID=88360666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311178987.1A Active CN116909800B (zh) | 2023-09-13 | 2023-09-13 | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909800B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874772A (zh) * | 2024-03-11 | 2024-04-12 | 广州锦高信息科技有限公司 | 应用软件漏洞扫描方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947973A (zh) * | 2017-11-17 | 2018-04-20 | 深圳泉眼体育运营管理有限公司 | 应用崩溃通知方法、系统、移动终端及服务器 |
CN109669798A (zh) * | 2018-12-25 | 2019-04-23 | 北京金山安全软件有限公司 | 崩溃分析方法、装置、电子设备,及存储介质 |
CN110069403A (zh) * | 2019-03-21 | 2019-07-30 | 深圳壹账通智能科技有限公司 | 定位崩溃事件的方法及装置、存储介质、电子装置 |
CN111638991A (zh) * | 2020-06-05 | 2020-09-08 | 贝壳技术有限公司 | 用于解析崩溃文件的方法与系统 |
US20220100598A1 (en) * | 2020-09-25 | 2022-03-31 | Intel Corporation | Device, system and method to determine a structure of a crash log record |
CN114816815A (zh) * | 2022-03-25 | 2022-07-29 | 阿里云计算有限公司 | 故障定位方法、日志格式的配置方法、设备及存储介质 |
CN115016973A (zh) * | 2022-06-29 | 2022-09-06 | 广州文远知行科技有限公司 | 一种程序崩溃事件复现方法、装置、设备和介质 |
CN115016968A (zh) * | 2022-06-02 | 2022-09-06 | 深圳市元征科技股份有限公司 | 一种异常处理方法、装置、设备及介质 |
CN116069612A (zh) * | 2021-10-29 | 2023-05-05 | 北京搜狗科技发展有限公司 | 一种异常定位方法、装置和电子设备 |
-
2023
- 2023-09-13 CN CN202311178987.1A patent/CN116909800B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107947973A (zh) * | 2017-11-17 | 2018-04-20 | 深圳泉眼体育运营管理有限公司 | 应用崩溃通知方法、系统、移动终端及服务器 |
CN109669798A (zh) * | 2018-12-25 | 2019-04-23 | 北京金山安全软件有限公司 | 崩溃分析方法、装置、电子设备,及存储介质 |
CN110069403A (zh) * | 2019-03-21 | 2019-07-30 | 深圳壹账通智能科技有限公司 | 定位崩溃事件的方法及装置、存储介质、电子装置 |
CN111638991A (zh) * | 2020-06-05 | 2020-09-08 | 贝壳技术有限公司 | 用于解析崩溃文件的方法与系统 |
US20220100598A1 (en) * | 2020-09-25 | 2022-03-31 | Intel Corporation | Device, system and method to determine a structure of a crash log record |
CN116069612A (zh) * | 2021-10-29 | 2023-05-05 | 北京搜狗科技发展有限公司 | 一种异常定位方法、装置和电子设备 |
CN114816815A (zh) * | 2022-03-25 | 2022-07-29 | 阿里云计算有限公司 | 故障定位方法、日志格式的配置方法、设备及存储介质 |
CN115016968A (zh) * | 2022-06-02 | 2022-09-06 | 深圳市元征科技股份有限公司 | 一种异常处理方法、装置、设备及介质 |
CN115016973A (zh) * | 2022-06-29 | 2022-09-06 | 广州文远知行科技有限公司 | 一种程序崩溃事件复现方法、装置、设备和介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874772A (zh) * | 2024-03-11 | 2024-04-12 | 广州锦高信息科技有限公司 | 应用软件漏洞扫描方法及系统 |
CN117874772B (zh) * | 2024-03-11 | 2024-06-11 | 广州锦高信息科技有限公司 | 应用软件漏洞扫描方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116909800B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651366B (zh) | Sdk测试方法、装置、设备及存储介质 | |
CN116909800B (zh) | 崩溃信息的定位方法、崩溃信息的定位装置及存储介质 | |
CN108241580B (zh) | 客户端程序的测试方法及终端 | |
CN109543417B (zh) | 一种基于Qemu平台的漏洞挖掘方法和装置 | |
CN110196801B (zh) | 一种基于代码覆盖率的测试方法及装置 | |
CN110543420A (zh) | 一种软件测试方法、系统、终端及存储介质 | |
CN104699617A (zh) | 一种游戏用自动化测试方法 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN108595332B (zh) | 软件测试方法及装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN116383025A (zh) | 基于Jmeter的性能测试方法、装置、设备及介质 | |
CN115733741A (zh) | 一种针对待测系统的异常场景测试方法和装置 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
US8739130B2 (en) | Quality assurance testing | |
CN114879647A (zh) | Ecu故障码测试系统、电子控制器及汽车 | |
CN114218011A (zh) | 测试仿真方法、装置、终端设备及存储介质 | |
CN110198249B (zh) | 一种配电自动化系统测试方法及系统 | |
CN112199229A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112346994A (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
Sun et al. | Automatically capturing and reproducing Android application crashes | |
CN107102938B (zh) | 测试脚本的更新方法及装置 | |
CN113886165B (zh) | 一种固件诊断功能的验证方法、装置、设备及可读介质 | |
CN110795142A (zh) | 一种配置文件的生成方法及装置 | |
CN112172875B (zh) | 列车自动控制系统运行故障分析方法及装置 | |
CN116414722B (zh) | 模糊测试处理方法、装置、模糊测试系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |