[发明专利]一种程序监控方法及装置有效
申请号: | 201711091709.7 | 申请日: | 2017-11-08 |
公开(公告)号: | CN107943646B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 张攀;王凯;向阳 | 申请(专利权)人: | 北京云杉世纪网络科技有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100083 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 监控 方法 装置 | ||
1.一种程序监控方法,其特征在于,包括:
确定第一追踪点在待监控程序的第一位置,获取用户设置的追踪记录函数和所述第一追踪点的轨道标识,所述追踪记录函数用于获取所述待监控程序中的待追踪数据信息,所述轨道标识用于关联至少两个所述第一追踪点;
当所述第一追踪点被触发时,获取第一触发时刻和预先申请的第一循环队列,所述第一循环队列为所述第一追踪点在目标进程中与共享内存对应的第一虚拟内存空间;
调用所述追踪记录函数,将获取到的所述待追踪数据信息和所述第一触发时刻写入所述第一循环队列中;
确定所述第一追踪点在观察进程中与所述共享内存对应的第一虚拟内存地址,根据用户设置的事件提取函数,从所述第一虚拟内存地址中获取所述第一循环队列存储的待追踪数据信息和第一触发时刻;
根据所述轨道标识,确定属于所述轨道标识的所有第一追踪点的待追踪数据信息和第一触发时刻;
所述获取用户设置的追踪记录函数和所述第一追踪点的轨道标识,还包括:
获取所述第一追踪点的使能标识;
相应地,所述当所述第一追踪点被触发时,获取第一触发时刻和预先申请的第一循环队列,所述第一循环队列为所述第一追踪点在目标进程中与共享内存对应的第一虚拟内存空间,具体为:
当所述第一追踪点被触发并且所述第一追踪点的使能标识为使能状态时,获取第一触发时刻和预先申请的第一循环队列,所述第一循环队列为所述第一追踪点在目标进程中与共享内存对应的第一虚拟内存空间;
所述当所述第一追踪点被触发时,获取第一触发时刻和预先申请的第一循环队列,所述第一循环队列为所述第一追踪点在目标进程中与共享内存对应的第一虚拟内存空间,包括:
当所述第一追踪点被触发时,确定第一追踪点触发事件序列号,并获取第一触发时刻;
根据所述第一追踪点触发事件序列号确定预先申请的第一循环队列中的写入队列块,所述第一循环队列为所述第一追踪点在目标进程中与共享内存对应的第一虚拟内存空间;
相应地,所述调用所述追踪记录函数,将获取到的所述待追踪数据信息和所述第一触发时刻写入所述第一循环队列中,具体为:
调用所述追踪记录函数,将获取到的所述待追踪数据信息和所述第一触发时刻写入所述写入队列块中。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定第二追踪点在所述待监控程序的第二位置和所述待监控程序中的待监控变量信息;
当所述第二追踪点被触发时,确定所述第二追踪点在目标进程中与所述共享内存对应的第二虚拟内存空间;
获取所述待监控变量信息,将所述待监控变量信息写入到所述第二虚拟内存空间中;
确定所述第二追踪点在观察进程中与所述共享内存对应的第二虚拟内存地址,从所述第二虚拟内存地址中读取所述待监控变量信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
确定第三追踪点在所述待监控程序的第三位置和所述待监控程序中的待测函数信息,所述待测函数用于处理目标事件;
当所述第三追踪点被触发时,获取第二触发时刻和预先申请的第二循环队列,所述第二循环队列为所述第三追踪点在目标进程中与所述共享内存对应的第三虚拟内存空间;
获取所述待测函数处理所述目标事件的处理次数和第三追踪点触发时刻,将所述处理次数和所述第三追踪点触发时刻写入到所述第二循环队列中;
确定所述第三追踪点在观察进程中与所述共享内存对应的第三虚拟内存地址,从所述第三虚拟内存地址中获取所述第二循环队列存储的处理次数和第三触发时刻;
根据所述处理次数和所述第三触发时刻,确定所述待测函数的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京云杉世纪网络科技有限公司,未经北京云杉世纪网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711091709.7/1.html,转载请声明来源钻瓜专利网。