[发明专利]一种软单步系统中内存读写监控方法有效
申请号: | 201310248057.9 | 申请日: | 2013-06-20 |
公开(公告)号: | CN104239201B | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 汪革;苟利平;王仁雷;武琦 | 申请(专利权)人: | 上海博达数据通信有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘粉宝 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种软单步系统中内存读写监控方法,该方法通过CPU的观察点机制、断点机制及先进的补丁技术实现了全新的内存监控技术,适用于多(单)任务嵌入式系统的在线调试。本发明提供的软单步机制能有效解决没有硬单步机制的多任务系统进行在线内存监控。 | ||
搜索关键词: | 一种 软单步 系统 内存 读写 监控 方法 | ||
【主权项】:
1.一种软单步系统中内存读写监控方法,其特征在于,所述监控方法包括如下步骤:(1)操作系统初始化后,内存读写监控前挂载观察点异常处理函数、断点异常处理函数及任务切换钩子函数;(2)设置要监控的内存区间,并设置内存观察点包含要监控的内存区间;(3)系统正常运行中,如果发生观察点异常则跳到步骤(4)、如果发生断点异常则跳到步骤(14),如果发生任务切换则跳到步骤(13);(4)系统读写被监控的内存会产生观察点异常,并自动跳到观察点异常处理函数进行后续步骤处理;(5)分析导致观察点异常的指令得到内存访问的各种参数,包括异常地址、内存访问的方式、正常地址、长度、数值;(6)匹配要监控的内存区间,如果不匹配则跳到步骤(12);(7)匹配注册规则及补丁规则,注册规则是程序中已经注册的规则,补丁规则是通过补丁技术重新实现的规则,如果不匹配则跳到步骤(12);(8)分析任务堆栈得到的任务调用关系,并记录内存访问信息;(9)计算下一个PC地址为软单步断点地址;(10)以当前任务为索引在HASH表中记录切换信息;(11)清除观察点,设置软单步断点;(12)异常返回,跳到步骤(3)系统正常运行;(13)发生任务切换,且任务切换后新旧任务不一致,则先索引上个任务获得切换信息,根据切换信息清除上个任务的软单步断点并恢复观察点,再索引新任务获得切换信息,根据切换信息设置新任务的观察点及软单步断点,处理完后跳到步骤(3)系统正常运行;(14)系统产生软单步断点异常,并自动跳到断点异常处理函数进行后续步骤处理;(15)以当前任务为索引在切换信息的HASH表中查找切换信息,再根据匹配的切换信息清除软单步断点,清除切换信息,恢复观察点配置,异常返回,跳到步骤(3)系统正常运行以便继续监视步骤(2)中设置的内存区间;(16)当不再需要监控内存时,清除所有任务中该观察点的切换信息,取消软单步,清除观察点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海博达数据通信有限公司,未经上海博达数据通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310248057.9/,转载请声明来源钻瓜专利网。
- 上一篇:文章新章节的检测方法及装置
- 下一篇:多语言信息分类处理方法及其处理系统