异常数据获取方法技术

技术编号:39647951 阅读:6 留言:0更新日期:2023-12-09 11:15
本申请实施例公开了一种异常数据获取方法

【技术实现步骤摘要】
异常数据获取方法、装置、设备和计算机可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种异常数据获取方法

装置

设备和计算机可读存储介质


技术介绍

[0002]发行版本下的软件在运行崩溃时,只能通过对软件对应的源码进行分析来定位异常所在,耗时长且处理效率低


技术实现思路

[0003]为解决上述技术问题,本申请实施例期望提供一种异常数据获取方法

装置

设备和计算机可读存储介质,解决了相关技术中的耗时长且处理效率低的问题

[0004]本申请的技术方案是这样实现的:一种异常数据获取方法,所述异常数据获取方法包括:基于预先配置于执行程序中的目标获取策略,捕获所述执行程序在运行崩溃时产生的异常数据;将所述异常数据写入文件中,得到异常数据文件;其中,所述异常数据文件表征所述执行程序在运行时存在异常的函数的调用情况

[0005]可以理解,通过目标获取策略,可以快速捕获表征执行程序在运行崩溃时存在异常的函数的调用情况的异常数据;将异常数据写入文件中,可以帮助开发人员快速定位异常

分清职责归属

[0006]在一些实施例中,所述异常数据获取方法还包括:确定所述目标获取策略;将所述目标获取策略融入业务软件对应的初始程序;调整所述初始程序的工程属性,得到所述执行程序,以使所述执行程序在运行崩溃时产生运行崩溃文件

[0007]可以理解,调整初始程序的工程属性,可以使发行版本下的执行程序在运行崩溃时产生运行崩溃文件,以便进行异常捕获;将预先设置好的目标获取策略融入初始程序,可以在捕获异常后,定位并捕获包括调用堆栈数据的异常数据

[0008]在一些实施例中,所述确定所述目标获取策略,包括:确定所述执行程序对应的线程类型;确定不同的所述线程类型对应的数据捕获逻辑

异常捕获逻辑和写入接口;所述异常捕获逻辑用于检测所述执行程序是否运行崩溃;所述写入接口用于将捕获的异常数据写入文件中;基于不同的所述线程类型对应的数据捕获逻辑

所述异常捕获逻辑和所述写入接口,确定所述目标获取策略

[0009]可以理解,数据捕获逻辑是针对不同线程类型设置的,那么基于不同的线程类型对应的数据捕获逻辑

异常捕获逻辑和写入接口确定目标获取策略,可以通过目标获取策略针对性地对不同类型的线程进行异常数据的捕获,提高异常数据捕获的准确性

[0010]在一些实施例中,所述线程类型包括第一类线程和第二类线程;所述基于不同的所述线程类型对应的数据捕获逻辑

所述异常捕获逻辑和所述写入接口,确定所述目标获取策略,包括:基于所述第一类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第
一类线程对应的第一捕获策略;基于所述第二类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第二类线程对应的第二捕获策略;基于所述第一捕获策略

所述第二捕获策略和所述写入接口,确定所述目标获取策略

[0011]可以理解,将第一类线程对应的第一捕获策略

第二类线程对应的第二捕获策略和写入接口进行融合,得到目标获取策略;如此,可以实现对不同类型的线程进行异常捕获

异常数据的定位和捕获

以及将捕获的异常数据写入文件中

[0012]在一些实施例中,所述第二类线程包括第一线程和第二线程;所述第一线程包含于所述执行程序对应的线程池,所述第二线程不包含于所述线程池;所述基于所述第二类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第二类线程对应的第二捕获策略,包括:将所述第一线程的数据捕获逻辑确定为第一数据捕获逻辑,并基于所述第一数据捕获逻辑和所述异常捕获逻辑,确定所述第一线程的捕获策略;将所述第二线程的数据捕获逻辑确定为第二数据捕获逻辑,并基于所述第二数据捕获逻辑和所述异常捕获逻辑,确定所述第二线程的捕获策略

[0013]可以理解,针对同一类中的不同线程设置不同的数据捕获逻辑,可以兼容同一类线程所在的不同场景,提高异常捕获的适用性

[0014]在一些实施例中,所述基于预先配置于执行程序中的目标获取策略,捕获所述执行程序在运行崩溃时产生的异常数据,包括:基于所述目标获取策略中的异常捕获逻辑,确定所述执行程序在运行崩溃时产生的运行崩溃文件;基于所述运行崩溃文件和所述目标获取策略,捕获所述异常数据

[0015]可以理解,先进行异常捕获,然后确定异常的线程对应的捕获逻辑,以捕获异常的线程的调用堆栈数据;如此,可以打印异常的线程的调用堆栈数据

[0016]在一些实施例中,所述执行程序对应的线程类型包括第一类线程和第二类线程;所述基于所述运行崩溃文件和所述目标获取策略,捕获所述异常数据,包括:在所述运行崩溃文件表征所述执行程序中的第一类线程异常的情况下,基于所述目标获取策略中的第一捕获策略,捕获所述异常数据;在所述运行崩溃文件表征所述执行程序中的第二类线程异常的情况下,基于所述目标获取策略中的第二捕获策略,捕获所述异常数据

[0017]可以理解,第一类线程异常时,采用第一捕获策略打印调用堆栈数据;第二类线程异常时,采用第二捕获策略打印调用堆栈数据;如此,针对不同类的线程,采用不同的捕获策略,可以提高异常捕获的准确性

[0018]在一些实施例中,所述第二类线程包括第一线程和第二线程;所述第一线程包含于所述执行程序对应的线程池,所述第二线程不包含于所述线程池;所述在所述运行崩溃文件表征所述执行程序中的第二类线程异常的情况下,基于所述目标获取策略中的第二捕获策略,捕获所述异常数据,包括:在所述运行崩溃文件表征所述执行程序中的第一线程异常的情况下,基于所述第二捕获策略中的第一线程的捕获策略,捕获所述异常数据;在所述运行崩溃文件表征所述执行程序中的第二线程异常的情况下,基于所述第二捕获策略中的第二线程的捕获策略,捕获所述异常数据

[0019]可以理解,针对同一类中的不同线程,采用不同的捕获策略,可以提高异常捕获的准确性

[0020]在一些实施例中,所述异常数据包括调用堆栈数据;所述将所述异常数据写入文
件中,得到所述异常数据文件,包括:基于所述目标获取策略中的写入接口,将所述调用堆栈数据写入文件中,得到所述异常数据文件

[0021]可以理解,将调用堆栈数据写入到文件中,便于帮助开发人员快速定位异常

分清职责归属

[0022]在一些实施例中,在所述执行程序的崩溃之处在所述执行程序对应的算法的情况下,所述异常数据文件中的第一行记录有所述算法的代码路径
...

【技术保护点】

【技术特征摘要】
1.
一种异常数据获取方法,其特征在于,所述异常数据获取方法包括:基于预先配置于执行程序中的目标获取策略,捕获所述执行程序在运行崩溃时产生的异常数据;将所述异常数据写入文件中,得到异常数据文件;其中,所述异常数据文件表征所述执行程序在运行时存在异常的函数的调用情况
。2.
根据权利要求1所述的异常数据获取方法,其特征在于,所述异常数据获取方法还包括:确定所述目标获取策略;将所述目标获取策略融入业务软件对应的初始程序;调整所述初始程序的工程属性,得到所述执行程序,以使所述执行程序在运行崩溃时产生运行崩溃文件
。3.
根据权利要求2所述的异常数据获取方法,其特征在于,所述确定所述目标获取策略,包括:确定所述执行程序对应的线程类型;确定不同的所述线程类型对应的数据捕获逻辑

异常捕获逻辑和写入接口;所述异常捕获逻辑用于检测所述执行程序是否运行崩溃;所述写入接口用于将捕获的异常数据写入文件中;基于不同的所述线程类型对应的数据捕获逻辑

所述异常捕获逻辑和所述写入接口,确定所述目标获取策略
。4.
根据权利要求3所述的异常数据获取方法,其特征在于,所述线程类型包括第一类线程和第二类线程;所述基于不同的所述线程类型对应的数据捕获逻辑

所述异常捕获逻辑和所述写入接口,确定所述目标获取策略,包括:基于所述第一类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第一类线程对应的第一捕获策略;基于所述第二类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第二类线程对应的第二捕获策略;基于所述第一捕获策略

所述第二捕获策略和所述写入接口,确定所述目标获取策略
。5.
根据权利要求4所述的异常数据获取方法,其特征在于,所述第二类线程包括第一线程和第二线程;所述第一线程包含于所述执行程序对应的线程池,所述第二线程不包含于所述线程池;所述基于所述第二类线程对应的数据捕获逻辑和所述异常捕获逻辑,确定所述第二类线程对应的第二捕获策略,包括:将所述第一线程的数据捕获逻辑确定为第一数据捕获逻辑,并基于所述第一数据捕获逻辑和所述异常捕获逻辑,确定所述第一线程的捕获策略;将所述第二线程的数据捕获逻辑确定为第二数据捕获逻辑,并基于所述第二数据捕获逻辑和所述异常捕获逻辑,确定所述第二线程的捕获策略
。6.
根据权利要求1至5中任一项所述的异常数据获取方法,其特征在于,所述基于预先配置于执行程序中的目标获取策略,捕获所述执行程序在运行崩溃时产生的异常数据,包
括:基于所述目标获取策略中的异常捕获逻辑,确定所述执行程序在运行崩溃时产生的运行崩溃文件;基于所述运行崩溃文件和所述目标获取策略,捕获所述异常数据
。7.
根据权利要求6所述的异常数据获取方法,其特征在于,所述执行程序对应的线程类型包括第一类线程和第二类线程;所述基于所述运行崩溃文件和所述目标获取策略,捕获所述异常数据,包...

【专利技术属性】
技术研发人员:林于晴江冠南余辉
申请(专利权)人:宁德时代新能源科技股份有限公司
类型:发明
国别省市:

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

1