[发明专利]软件监测方法、装置以及系统有效
申请号: | 201180001455.X | 申请日: | 2011-06-14 |
公开(公告)号: | CN102301343A | 公开(公告)日: | 2011-12-28 |
发明(设计)人: | 王超;余加强;陈明宇;黄永兵;张文力;崔泽汉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 中国广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 监测 方法 装置 以及 系统 | ||
1.一种软件监测方法,其特征在于,所述方法包括:
记录锁程序地址以及线程标识,所述线程标识用于标识使用所述锁程序的线程;
根据所述锁程序地址以及所述线程标识获得内存地址,并通过所述内存地址访问内存;
侦听内存总线以识别所述访问内存的信号并根据所述信号获取所述锁程序的追踪信息,所述锁程序的追踪信息包括所述内存地址以及访问时间信息;
根据所述追踪信息获得所述锁程序的使用信息,所述使用信息包括所述锁程序地址、使用所述锁程序的线程标识以及所述线程占用锁程序的时间,所述占用锁程序的时间根据所述访问时间信息确定。
2.根据权利要求1所述的方法,其特征在于,所述侦听内存总线以识别所述内存地址的访问内存信号并获取所述锁程序的追踪信息的步骤中,通过映射表识别出内存总线中访问地址为所述锁程序地址以及使用所述锁程序的线程标识所转化的内存地址的访问内存信号。
3.根据权利要求2所述的方法,其特征在于,所述侦听内存总线以识别所述内存地址的访问内存信号并获取所述锁程序的追踪信息包括:
预留物理地址空间,通过所述映射表建立所述锁程序地址以及使用所述锁程序的线程标识编码转化的内存地址与所述物理地址空间之间的映射关系;
侦听所述内存总线中的访问地址并判断所述访问地址是否映射在所述物理地址空间内;
根据判断结果,将映射在所述物理地址空间内的访问内存地址以及时间信息封装成追踪信息;
传输所述追踪信息。
4.根据权利要求3项所述的方法,其特征在于,所述物理地址空间为两段段物理地址,所述锁程序以及使用所述锁程序的线程标识编码转化的内存地址通过映射表映射为所述两段段物理地址区间内的物理地址。
5.根据权利要求3所述的方法,其特征在于,在所述根据所述追踪信息获得所述锁程序的使用信息的步骤之前还包括接收并存储所述追踪信息,以供离线分析。
6.根据权利要求1所述的方法,其特征在于,根据所述锁程序地址以及所述线程标识获得内存地址包括将所述锁程序地址以及所述线程标识编码转化或者映射为内存地址。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述追踪信息中的时间信息包括调用和释放锁程序的时间戳。
8.根据权利要求7所述的方法,其特征在于,所述调用和释放锁程序的时间戳是通过时钟记录侦听到所述锁程序因被调用或释放而被编码转化为内存地址并访问内存的时间。
9.根据权利要求7所述的方法,其特征在于,所述追踪信息还包括:
序列号,用于在分析的时候检测有没有丢失;
读写信息,用于标识此次访问内存是读或者写。
10.根据权利要求9所述的方法,其特征在于,所述追踪信息主要由所述锁程序以及使用所述锁程序的线程标识编码转化的内存地址、所述时间信息、序列号以及读写信息封装而成。
11.根据权利要求1至6任一项所述的方法,其特征在于,所述记录锁程序地址以及线程标识包括通过所述锁程序被调用时重载与锁程序相关的函数中记录所述锁程序地址以及使用所述锁程序的线程标识。
12.根据权利要求11所述的方法,其特征在于,所述与所述锁程序相关的函数通过动态插桩的方式或者在程序运行前加载自定义的动态连接库的方式进行重载。
13.根据权利要求1至6任一项所述的方法,其特征在于,所述根据所述追踪信息获得所述锁程序的使用信息包括:
根据所述追踪信息获得所述内存地址以及所述锁程序的时间信息;
将所述内存地址反解码为锁程序地址以及使用所述锁程序的线程标识,获得所述锁程序地址、使用所述锁程序的线程标识以及所述线程占用锁程序的时间信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001455.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:保护倒换装置和方法
- 下一篇:处于泡沫形式的化妆品组合物