【技术实现步骤摘要】
数据处理方法、装置、设备及存储介质
[0001]本申请涉及计算机
,尤其涉及一种数据处理方法、装置、设备及存储介质。
技术介绍
[0002]随着计算机技术的发展,一些操作系统的开源性得以让操作系统被二次开发、定制,操作系统所提供的越来越多有趣且实用的功能不断的给人们带来便捷的体验。
[0003]在操作系统上支持各种应用程序的运行,但是如果应用程序响应不够灵敏时,可能会发生ANR(Application Not Responding,应用无响应)的现象,这种ANR现象的存在会影响使用体验。然而目前解决ANR的方案大多是基于他人的分析经验来定位自己所遇到的ANR问题,针对具体ANR的问题进行具体分析,这样受限于操作系统版本、应用程序版本等具体的场景,并不一定就能保证解决本次ANR之后不因为其他原因再次发生ANR,通用性不强。
技术实现思路
[0004]本申请实施例提供一种数据处理方法、装置、设备及存储介质,能够从操作系统层面有效解决目标应用的无响应现象,降低发生任一种无响应现象的概率,通用性强,可提
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取目标应用的多种无响应现象中的各种无响应现象的现场信息,任一种无响应现象是在基于操作系统的系统代码运行所述目标应用的过程中产生的;且任一种无响应现象的现场信息用于描述:在产生相应的无响应现象时,所述系统代码的执行情况;对所述各种无响应现象的现场信息进行共性分析,得到共性分析结果,并根据所述共性分析结果从所述系统代码中确定产生无响应现象的故障点;其中,所述共性分析结果包括:所述各种无响应现象的现场信息中的共有信息;根据所述故障点对所述系统代码进行修复处理,以基于修复后的系统代码运行所述目标应用。2.如权利要求1所述的方法,其特征在于,所述系统代码包括多个进程以及每个进程所执行的代码片段;所述任一种无响应现象的现场信息包括:在产生相应的无响应现象时,所述系统代码中被运行的各个进程的进程标识;所述对所述各种无响应现象的现场信息进行共性分析,得到共性分析结果,包括:针对所述各种无响应现象的现场信息中的任一现场信息,遍历所述任一现场信息中的各个进程标识;在除所述任一现场信息以外的各个现场信息中,查找当前遍历的进程标识;若查找到所述当前遍历的进程标识,则将所述当前遍历的进程标识添加至共性分析结果中;若未查找到所述当前遍历的进程标识,则继续遍历所述任一现场信息中的各个进程标识。3.如权利要求1或2所述的方法,其特征在于,所述共性分析结果包括:所述各种无响应现象的现场信息之间共有的进程标识;所述根据所述共性分析结果从所述系统代码中确定产生无响应现象的故障点,包括:基于所述共性分析结果中的各个进程标识确定M个目标进程,M的取值等于所述共性分析结果中的进程标识的数量;确定所述M个目标进程中的各个目标进程之间的关联关系,并从所述系统代码中获取所述各个目标进程所执行的代码片段;基于所述关联关系,从获取到的M个代码片段中确定产生无响应现象的故障点。4.如权利要求3所述的方法,其特征在于,所述M个目标进程包括第一进程和第二进程;所述确定所述M个目标进程中的各个目标进程之间的关联关系,包括:从所述各种无响应现象的现场信息中,获取所述第一进程的属性信息以及所述第二进程的属性信息;任一进程的属性信息包括:所述任一进程的进程号以及调用所述任一进程的进程的进程号;若所述第二进程的属性信息中包括所述第一进程的进程号或者所述第一进程的属性信息中包括所述第二进程的进程号,则确定所述第一进程和所述第二进程之间的关联关系为父子关系。5.如权利要求3所述的方法,其特征在于,所述M个目标进程包括第一进程和第二进程,且所述第一进程和所述第二进程之间的关联关系为父子关系;其中,所述第一进程是所述第二进程的父进程;
所述基于所述关联关系,从获取到的M个代码片段中确定产生无响应现象的故障点,包括:基于所述父子关系,将获取到的第一进程所执行的代码片段确定为基准代码片段;并从所述基准代码片段中确定第一代码语句,所述第一代码语句是指:在发生无响应现象之前,所述第一进程所执行的代码语句;当所述第一代码语句是用于实现函数调用操作的语句时,在所述第一进程执行的代码片段中沿着第一代码语句分析出所述第一进程的调用栈,所述调用栈包括所述第一进程调用的各种函数;若所述调用栈中存在调用失败的目标函数,则从所述基准代码片段中确定所述目标函数的逻辑代码;基于所述第二进程所执行的代码片段,从所述目标函数的逻辑代码中确定产生无响应现象的故障点。6.如权利要求5所述的方法,其特征在于,所述目标函数的逻辑代码中包括进程创建语句,所述进程创建语句是用于创建子进程的语句,且通过所述进程创建语句所创建的子进程与相应的父进程之间共享同一个地址空间;所述基于所述第二进程所执行的代码片段,从所述目标函数的逻辑代码中确定产生无响应现象的故障点,包括:从所述第二进程执行的代码片段中确定第二代码语句,所述第二代码语句是指:在发生无响应现象之前,所述第二进程所执行的代码语句;当所述第二代码语句是用于实现数据读取操作的语句时,根据所述第二代码语句确定所述第二进程执行数据读取操作所需的目标资源;若所述目标资源被所述第一进程持有,则将所述目标函数的逻辑代码中的进程创建语句,确定为产生无响应现象的故障点;其中,所述第二进程是所述第一进程的子进程;若所述目标资源被所述第一进程持有,则所述第二进程被阻塞;且当所述第二进程被阻塞的时长大于时长阈值时,无响应现象被触发。...
【专利技术属性】
技术研发人员:曹琛,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。