[发明专利]一种内存监视的方法有效
申请号: | 201610041986.6 | 申请日: | 2016-01-22 |
公开(公告)号: | CN105718357B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 刘应江;徐鑫 | 申请(专利权)人: | 烽火通信科技股份有限公司;武汉烽火技术服务有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 彭程程 |
地址: | 430074 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 监视 方法 | ||
一种内存监视的方法,包括:S1.记录待监视的地址信息和监视地址所在页信息,将监视地址所在页的属性设置为只读;S2.若CPU触发缺页异常,将引起缺页异常的地址所在页属性设置为可读写,若在处理过程中发现引起缺页异常的地址为监视地址,则获取并记录调用栈相关信息,并插入陷阱指令;S3.CPU执行到陷阱指令,触发陷阱异常处理,将监视地址所在页的属性恢复为只读,且清除陷阱指令。本发明监控某段内存是否被改写,可监视地址范围较大,过程简单,实际操作性强。
技术领域
本发明涉及计算机内存技术领域,具体来讲涉及一种内存监视的方法。
背景技术
在计算机应用领域中,要监视某段内存是否被改写,一般采用专业的内存监控软件来实现。但其检测被破坏后,需要内存释放或是分配资源时才能发现错误,导致不能及时上报错误,不具有实时性,这样会极大的影响程序的除错进度。因此,目前需要解决的问题是如何实时地监控内存是否被改写,且不破坏当前运行的系统。
目前内存监视技术中,通常采用硬件断点和软件断点的方式来实现内存的实时监控。硬件断点处理速度快,但可监视地址范围小,且跟处理器是否支持数据断点有关。
软件断点可以增加断点数量即可监视地址范围,通常采用的是内存页保护机制来实现。但是目前采用的内存页保护机制,通常是通过将零散的监视地址加入到某个物理调试页中,在对调试页中数据读写时触发缺页异常,过程比较复杂,因此采用此种方法实际操作性不强。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种内存监视的方法,监控某段内存是否被改写,可监视地址范围较大,过程简单,实际操作性强。
为达到以上目的,本发明采取一种内存监视的方法,包括步骤:S1.记录待监视的地址信息和监视地址所在页信息,将监视地址所在页的属性设置为只读;S2.若CPU触发缺页异常,将引起缺页异常的地址所在页属性设置为可读写,若在处理过程中发现引起缺页异常的地址为监视地址,则获取并记录调用栈相关信息,并插入陷阱指令;S3.CPU执行到陷阱指令,触发陷阱异常处理,将监视地址所在页的属性恢复为只读,且清除陷阱指令。
在上述技术方案的基础上,步骤S1中,设置一个监视地址信息表,监视地址信息表用于存放所有在监视地址范围内的监视地址信息。
在上述技术方案的基础上,步骤S1中,设置一个页地址信息表,页地址信息表用于存放所有监视地址所在页信息。
在上述技术方案的基础上,步骤S2中,当待监视地址的程序对只读属性的内存页地址进行写操作时,则CPU触发缺页异常。
在上述技术方案的基础上,待监视地址的程序对只读属性的内存页地址进行写操作的指令为当前指令,插入陷阱指令具体动作为,将当前指令的下一条指令根据应用的CPU平台修改为对应的陷阱指令。
在上述技术方案的基础上,若CPU在处理过程中检测引起缺页异常的地址不是监视地址,直接将当前指令的下一条指令根据应用的CPU平台修改为对应的陷阱指令。
在上述技术方案的基础上,所述修改为对应的陷阱指令时,记录陷阱指令的指令地址以及被修改的指令信息。
在上述技术方案的基础上,步骤S3中,清除陷阱指令,即,通过记录的陷阱相关信息,将陷阱指令还原为被修改的指令。
本发明的有益效果在于:记录待监视的地址信息和监视地址所在页信息,使得除监视地址之外,其他内存数据的访问不会触发异常,不会影响系统;当对只读内存页读写时,则触发缺页异常处理,能实时的记录下内存改写时的调用栈信息,有效提高某段内存监视的实时性。本发明的适用性广,适用于大多数嵌入式系统。
附图说明
图1为本发明实施例内存监视的方法的流程图;
图2为图1中步骤S2的详细流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司;武汉烽火技术服务有限公司,未经烽火通信科技股份有限公司;武汉烽火技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610041986.6/2.html,转载请声明来源钻瓜专利网。