[发明专利]一种内存监控方法及装置有效

专利信息
申请号: 201180002063.5 申请日: 2011-09-20
公开(公告)号: CN102388368A 公开(公告)日: 2012-03-21
发明(设计)人: 李俊;郑海珍;张超;秦海军 申请(专利权)人: 华为技术有限公司
主分类号: G06F11/00 分类号: G06F11/00;G06F11/34
代理公司: 北京凯特来知识产权代理有限公司 11260 代理人: 郑立明;陈亮
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 监控 方法 装置
【说明书】:

技术领域

发明涉及计算机应用领域,更具体的说,涉及一种内存监控方法及装置。

背景技术

在计算机应用领域中,要监控某一段内存是否被访问,通常是使用一些专业的内存监控软件来实现的,但是当监测被破坏后,该内存监控软件不能及时上报错误,只能在内存释放或内存分配资源的时候,才会发现错误,因此该方案不具有监控时效性,使得程序的除错难度大幅增加;此外,现有的内存监控软件对于自行开发的操作系统不能完全兼容,也使得侦错效果相当有限。如何能够实时的监控到内存是否被读写,而不破坏当前运行的系统,进而缩短开发周期,是目前要解决的一个重要问题。

目前,调试寄存器可提供4个地址寄存器供监控内存地址的读写,具有处理速度快,能够对内存实时监控的特点。数据断点的探测就是利用该机制实现的,但该技术的实现要依赖于硬件机制,因此使用范围非常有限;同时监控的地址个数有限,造成了开发人员的调试瓶颈。

现有方案中部分CPU支持硬件断点,如X86架构下,共有8个调试寄存器DR0-DR7,用于保存断点的内存地址或I/O端口地址。当前的数据断点技术是利用调试寄存器实现的,把需要监视的地址放入DR0-DR3寄存器中,给调试控制寄存器DR7相应的置位,使DR0-DR3中存放的监视地址生效。

当程序读写某个设置的断点的变量时,会触发调试异常,内核就通过接管调试异常,进行相关的判断操作和其它处理操作,然后再进行断点信息记录和输出,整个过程不影响程序的正常运行,并能成功记录断点信息。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

现有方案依赖于硬件调试资源,由于部分CPU构架没有调试寄存器,因此不支持硬件断点,兼容性差,同时由于调试寄存器的个数有限,也限制了数据断点探测数量的使用范围。

发明内容

本发明的实施例提供了一种内存监控方法及装置,能够降低现有方案中数据断点技术的局限性。

本发明的技术方案包括:

本发明一方面提供了一种内存监控方法,包括:

将需要监控的内存地址放入调试页中;

在CPU对所述调试页中内存地址读写时,则触发缺页异常指令;

在确定所述缺页异常指令是由访问被监控的内存地址造成时,采用预定调试流程对所述缺页异常指令进行处理。

本发明另一方面提供了一种内存监控装置,包括:

集成模块,用于将需要监控的数据放入调试页中;

监控模块,用于在CPU对所述调试页中数据读写时,则触发缺页异常指令;

执行模块,用于在确定所述缺页异常指令是由访问被监控的内存地址造成时,采用预定调试流程对所述缺页异常指令进行处理。

由上述本发明的实施例提供的技术方案可以看出,通过将需要监控的内存地址放入调试页中,使得除监控内存地址之外,其他内存数据的访问不会触发异常,不会对系统性能造成过大的影响;在CPU对所述调试页中数据读写时,则触发缺页异常指令;在确定所述缺页异常指令是由访问被监控的内存地址造成时,采用预定调试流程对所述缺页异常指令进行处理,可以有效的提升系统的调试和维护效率。

附图说明

图1为本发明实施例所述内存监控方法的流程图;

图2为本发明实施例一的流程图;

图3为本发明实施例所述内存监控装置的结构示意图。

具体实施方式

本发明实施例提出的一种内存监控方法及装置,是一种基于缺页异常的断点探测方案,能够增加断点使用数量和范围,避免了现有方案对数据断点的个数及监控长度带来的局限性。此外本发明利用页的保护机制来实现多数据断点,具有通用性。

本发明通过将需要监控的内存地址放入调试页中,使得除了监控内存之外,其余内存访问并不会触发异常,从而不至于对系统性能造成过大的影响;在CPU对所述调试页中内存地址读写时,则触发缺页异常指令;在确定所述缺页异常指令是由访问被监控的内存地址造成时,采用预定调试流程对所述缺页异常指令进行处理。通过这种方式可以对物理内存中的状态进行监控,同时抓取写入者和读取者的相关数据,提高了随机的内存错误定位的处理速度,有效提升了系统的调试和维护的效率。

为了便于对本发明实施例中相关术语的理解,下面对涉及到的术语的含义进行简要说明:

数据断点:所谓数据断点是指CPU在访问一个内存地址时能够暂停该指令执行,转而执行一个中断程序,完成现场状态抓取的过程。

分页:现代CPU提供的内存管理功能,它将全部物理内存分割为一个个物理页,这些物理页具有一些控制属性,这种技术称为分页。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201180002063.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top