[发明专利]一种程序稳定性检测方法及装置有效
申请号: | 202010642987.2 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111966577B | 公开(公告)日: | 2023-09-08 |
发明(设计)人: | 鞠鑫 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 稳定性 检测 方法 装置 | ||
1.一种程序稳定性检测方法,其特征在于,包括:
在运行预设程序对象调用预设方法的程序代码时,调用预设消息转发方法添加线程检测方法;
通过所述线程检测方法,检测运行所述预设程序对象调用预设方法的程序代码的线程的类型;
根据所述线程的类型,判断所述预设程序对象调用预设方法的程序代码是否存在预设问题;
若预设程序对象调用预设方法的程序代码存在预设问题,则执行针对所述预设问题的反馈操作;
所述预设程序对象调用预设方法的程序代码为界面元素调用渲染方法的程序代码,所述根据所述线程的类型,判断所述预设程序对象调用预设方法的程序代码是否存在预设问题,包括:
判断运行所述界面元素调用渲染方法的程序代码的线程的类型是否为子线程;
若运行所述界面元素调用渲染方法的程序代码的线程的类型为子线程,则确定所述界面元素调用渲染方法的程序代码存在预设问题。
2.根据权利要求1所述的方法,其特征在于,所述执行针对所述预设问题的反馈操作,包括:
中断运行所述预设程序对象调用预设方法的程序代码的线程,和/或,生成并展示提醒信息。
3.根据权利要求1所述的方法,其特征在于,所述执行针对所述预设问题的反馈操作,包括:
获取当前线程;
保存所述当前线程对应的堆栈,以及获取异常时间戳和所述预设程序对象调用预设方法的程序代码所属的程序模块;
生成日志数据,并将所述日志数据上传至服务器;所述日志数据包括所述当前线程对应的堆栈、所述异常时间戳和所述调用预设方法的程序代码所属的程序模块。
4.一种程序稳定性检测装置,其特征在于,包括:
方法添加模块,用于在运行预设程序对象调用预设方法的程序代码时,调用预设消息转发方法添加线程检测方法;
线程检测模块,用于通过所述线程检测方法,检测运行所述预设程序对象调用预设方法的程序代码的线程的类型;
问题判断模块,用于根据所述线程的类型,判断所述预设程序对象调用预设方法的程序代码是否存在预设问题;
反馈模块,用于若预设程序对象调用预设方法的程序代码存在预设问题,则执行针对所述预设问题的反馈操作;
所述预设程序对象调用预设方法的程序代码为界面元素调用渲染方法的程序代码,所述问题判断模块包括:
子线程判断子模块,用于判断运行所述界面元素调用渲染方法的程序代码的线程的类型是否为子线程;
问题确定子模块,用于若运行所述界面元素调用渲染方法的程序代码的线程的类型为子线程,则确定所述界面元素调用渲染方法的程序代码存在预设问题。
5.根据权利要求4所述的装置,其特征在于,所述反馈模块包括:
提醒子模块,用于中断运行所述预设程序对象调用预设方法的程序代码的线程,和/或,生成并展示提醒信息。
6.根据权利要求4所述的装置,其特征在于,所述反馈模块包括:
线程获取子模块,用于获取当前线程;
保存子模块,用于保存所述当前线程对应的堆栈,以及获取异常时间戳和所述预设程序对象调用预设方法的程序代码所属的程序模块;
日志数据上传子模块,用于生成日志数据,并将所述日志数据上传至服务器;所述日志数据包括所述当前线程对应的堆栈、所述异常时间戳和所述调用预设方法的程序代码所属的程序模块。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010642987.2/1.html,转载请声明来源钻瓜专利网。