[发明专利]程序检测方法和系统在审
申请号: | 201810356737.5 | 申请日: | 2018-04-19 |
公开(公告)号: | CN110389888A | 公开(公告)日: | 2019-10-29 |
发明(设计)人: | 段云飞 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 吕雁葭 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 程序检测 运行状态数据 程序获取 | ||
本公开提供了一种程序检测方法,包括:运行特定程序,其中,所述特定程序中包括检测程序以及被检测程序;以及在运行所述特定程序的过程中,自动通过检测程序获取所述被检测程序的运行状态数据。
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种程序检测方法和一种程序检测系统。
背景技术
随着计算机和互联网技术的快速发展,通过计算机程序实现的功能广泛地应用于各个领域中。例如通过计算机开发的多种应用程序能够满足用户的工作和娱乐。但是,在程序运行过程中通常存在程序运行异常(例如执行缓慢)的情况,因此如何方便并快速地得到程序的运行状态数据,并通过该运行状态数据分析程序运行异常的原因成为亟待解决的问题。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题,现有的获取关于程序的运行状态数据通常需要人为参与,且较为繁琐,不够便捷,耗费人工成本。
发明内容
有鉴于此,本公开提供了一种优化的程序检测方法和一种程序检测系统。
本公开的一个方面提供了一种程序检测方法,包括:运行特定程序,其中,所述特定程序中包括检测程序以及被检测程序,以及在运行所述特定程序的过程中,自动通过检测程序获取所述被检测程序的运行状态数据。
根据本公开的实施例,上述方法还包括:通过注解数据获取待编译检测程序,将所述待编译检测程序编译到所述特定程序中,使得所述特定程序包括所述检测程序。
根据本公开的实施例,上述待编译检测程序包括多个待编译程序片段,所述将所述待编译检测程序编译到所述特定程序中,包括:根据所述注解数据,将所述多个待编译程序片段分别编译到所述特定程序的特定位置。
根据本公开的实施例,上述运行特定程序包括通过注解数据调用所述检测程序。
根据本公开的实施例,上述运行特定程序包括通过第一线程运行所述特定程序,所述通过检测程序获取所述被检测程序的运行状态数据包括:通过所述检测程序启用第二线程获取所述被检测程序的运行状态数据。
根据本公开的实施例,上述检测程序包括第一程序片段和第二程序片段,其中,所述第一程序片段用于启用所述第二线程,所述第二程序片段用于关闭所述第二线程,所述第一程序片段在所述被检测程序运行之前运行,所述第二程序片段在所述被检测程序运行之后运行。
根据本公开的实施例,上述在运行所述特定程序的过程中,自动通过检测程序获取所述被检测程序的运行状态数据,包括:在运行所述特定程序的过程中,自动通过检测程序获取被检测程序在运行过程中的堆栈信息,基于所述堆栈信息,确定所述被检测程序的运行状态数据。
根据本公开的实施例,上述被检测程序的运行状态数据包括所述被检测程序的运行时间数据,所述通过检测程序获取被检测程序在运行过程中的堆栈信息,包括:每隔预设时间间隔,获取所述被检测程序在运行过程中的堆栈信息,得到至少一个堆栈信息,所述基于所述堆栈信息,确定所述被检测程序的运行状态数据,包括:基于所述至少一个堆栈信息以及所述预设时间间隔,确定所述被检测程序的运行时间数据。
根据本公开的实施例,上述方法还包括:根据所述堆栈信息,判断所述被检测程序的运行状态数据是否满足第一预设条件。
根据本公开的实施例,上述被检测程序包括多个函数,所述方法还包括:在所述被检测程序的运行状态数据不满足第一预设条件的情况下,获取所述多个函数中的每个函数对应的堆栈信息,根据所述每个函数对应的堆栈信息,判断所述多个函数的运行状态数据是否满足第二预设条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810356737.5/2.html,转载请声明来源钻瓜专利网。