[发明专利]一种函数执行时间的测试方法及装置有效
申请号: | 201710218404.1 | 申请日: | 2017-04-05 |
公开(公告)号: | CN107025173B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 陈礼娟;王俊俊 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 执行时间 测试 方法 装置 | ||
1.一种函数执行时间的测试方法,其特征在于,包括:
接收测试指令,并根据所述测试指令获取函数跟踪进程,所述函数跟踪进程用于获取待测试函数的时间测试参数;
通过预设钩子函数对所述函数跟踪进程进行挂起,并触发开启跟踪功能,其中,所述对所述函数跟踪进程进行挂起指的是暂不执行函数跟踪进程,所述开启跟踪功能指的是修改函数跟踪进程入口点,在动态库执行待测试函数内部函数调用时,改变函数跳转指令,使系统跳转到自定义的外部函数上执行;
在开启跟踪功能后,获取待测试函数的方法类参数;
根据所述方法类参数,判断待测试函数为系统函数或非系统函数;
若判断出所述待测试函数为非系统函数,则确定待测试函数满足预设条件;
若判断出所述待测试函数为系统函数,则确定待测试函数不满足预设条件;
当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并测试出所述待测试函数的执行时间;
当确定所述待测试函数不满足预设条件时,将所述待测试函数进行过滤,并终止测试所述待测试函数的执行时间。
2.根据权利要求1所述的函数执行时间的测试方法,其特征在于,所述根据所述方法类参数,判断待测试函数为系统函数或非系统函数包括:
在所述方法类参数的成员变量中,提取类地址指针变量的成员变量;
根据所述类地址指针变量的成员变量,确定类加载器变量的值;
若确定所述类加载器变量的值为空,则判断出待测试函数为系统函数;
若确定所述类加载器变量的值不为空,则判断出待测试函数为非系统函数。
3.根据权利要求1所述的函数执行时间的测试方法,其特征在于,所述根据所述测试指令获取函数跟踪进程包括:
在接收到测试指令时,确定操作系统版本信息;
根据所述操作系统版本信息,获取相应的函数跟踪进程。
4.根据权利要求1所述的函数执行时间的测试方法,其特征在于,所述当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并测试出所述待测试函数的执行时间包括:
当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并在所述函数跟踪进程中提取所述待测试函数的时间测试参数;
根据所述时间测试参数,测试所述待测试函数的执行时间。
5.一种函数执行时间的测试装置,其特征在于,包括:
接收单元,用于接收测试指令;
获取单元,用于根据所述测试指令获取函数跟踪进程,所述函数跟踪进程用于获取待测试函数的时间测试参数;
挂起单元,用于通过预设钩子函数对所述函数跟踪进程进行挂起,并触发开启跟踪功能,其中,所述对所述函数跟踪进程进行挂起指的是暂不执行函数跟踪进程,所述开启跟踪功能指的是修改函数跟踪进程入口点,在动态库执行待测试函数内部函数调用时,改变函数跳转指令,使系统跳转到自定义的外部函数上执行;
确定单元包括第一获取子单元、判断子单元、第一确定子单元以及第二确定子单元:
第一获取子单元,用于在开启跟踪功能后,获取待测试函数的方法类参数;
判断子单元,用于根据所述方法类参数,判断待测试函数为系统函数或非系统函数;
第一确定子单元,用于若判断出所述待测试函数为非系统函数,则确定待测试函数满足预设条件;
第二确定子单元,用于若判断出所述待测试函数为系统函数,则确定待测试函数不满足预设条件;
测试单元,用于当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并测试出所述待测试函数的执行时间;
过滤单元,用于当确定所述待测试函数不满足预设条件时,将所述待测试函数进行过滤,并终止测试所述待测试函数的执行时间。
6.根据权利要求5所述的函数执行时间的测试装置,其特征在于,所述判断子单元具体用于:
在所述方法类参数的成员变量中,提取类地址指针变量的成员变量;
根据所述类地址指针变量的成员变量,确定类加载器变量的值;
若确定所述类加载器变量的值为空,则判断出待测试函数为系统函数;
若确定所述类加载器变量的值不为空,则判断出待测试函数为非系统函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710218404.1/1.html,转载请声明来源钻瓜专利网。