[发明专利]开发中对存储破坏进行跟踪的装置无效
申请号: | 201210423043.1 | 申请日: | 2012-10-29 |
公开(公告)号: | CN103793286A | 公开(公告)日: | 2014-05-14 |
发明(设计)人: | 王秦秦 | 申请(专利权)人: | 无敌科技(西安)有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 倪金荣 |
地址: | 710075 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 开发 存储 破坏 进行 跟踪 装置 | ||
技术领域
本发明涉及一种跟踪存储装置,尤其是一种开发中对存储破坏进行跟踪的装置。
背景技术
嵌入式系统为了追求程序执行的高效率,开发中软件所使用的语言往往不具备存储垃圾回收机制的语言,然而,在庞大的软件系统开发中,存储破坏的现象是无法避免,几万行的代码中,几乎就一定会存在存储破坏的环节,使得存储破坏成了开发过程非常棘手的问题。由于程序执行时其程序需要占用存储,因而会发生越界读取存储等错误,尤其是引入了多执行绪系统,这些错误不仅会导致程序运作过程的流程出错,甚至会导致系统瘫痪,造成嵌入式系统的稳定性不佳。
这种存储检测软件对于自行开发的操作系统无法不能完全兼容,也使得侦错效果相当有限。
因此,如何实时跟踪存储是否存在越界的读写或操作,以对存储破坏处的代码实时的定位和修正,进而嵌入式系统软件开发的周期,是一个刻不容缓的待解决课题。
发明内容
本发明为解决背景技术中存在的上述技术问题,而提出开发中对存储破坏进行跟踪的装置。
本发明的技术解决方案是:本发明为一种开发中对存储破坏进行跟踪的装置,其特殊之处在于:该装置包括:执行模块,执行程序;分配模块,根据程序的需求分配存储区块,并在存储区块的起始地址与结束地址分别配置数据断点;存储模块,将起始地址与结束地址存储;处理模块,处理数据断点。
上述分配模块包含根据分配比例增加受分配的存储区块。
位于上述起始地址的数据断点的大小相同于位于上述结束地址的数据断点。
位于上述起始地址的数据断点的大小不同于位于上述结束地址的数据断点。
上述装置包括校验模块,提供校验数据。
附图说明
图1为本发明示意图;
具体实施方式
参见图1、该装置包括:执行模块,执行程序;分配模块,根据程序的需求分配存储区块,并在存储区块的起始地址与结束地址分别配置数据断点;存储模块,将起始地址与结束地址存储;处理模块,处理数据断点。
在存储区块10的起始地址配置数据断点20,在存储区块10的结束地址配置数据断点30,其中,位于起始地址的数据断点20的大小可相同于位于结束地址的数据断点30,但本发明不限于此,数据断点20的大小可不同于数据断点30,如数据断点20的大小大于数据断点30,或是数据断点20的大小小于数据断点30。
此外,位于起始地址的数据断点20的大小可为大于0字节,位于结束地址的数据断点30的大小可为大于0字节,但本发明不限于此,数据断点20或30的大小可等于0字节,但不能同时为0字节。
提供起始地址与结束地址予程序而存取存储区块10。
当数据断点20与30设置完成后,将存储区块10的起始地址与结束地址提供给程序而存取存储区块10。
在存取存储区块10触及起始地址与结束地址之一时,处理数据断点20或30。
在程序执行过程中,存取存储区块10时触及存取存储区块10的边界区域,若触及起始地址,处理数据断点20;若触及结束地址,处理数据断点30,通过处理数据断点20或30而能自动的告知开发人员,已经有存储区块10的越界操作,从而可快速的定位出程序存储区块10越界的错误。
停止执行程序。
释放存储区块10,并移除数据断点20或30。
当停止执行程序而不再需求存储区块10时,即可释放存储区块10,同时移除位于存储区块10边界区域的数据断点20或30。整个流程完全不需要修改程序,但却可以有效地实时的监测出存储区块10是否有读写越界的操作。
若嵌入式系统对时效性需求程度较高时,可提供校验数据,并定时根据校验数据进行校验,即可定时的扫描校验数据,而及时地回馈出来存储区块10是否有越界破坏的操作,通过快速地找到程序中存储破坏的隐患,减少因为存储破坏的问题所需除错的时间。
综上所述,本发明利用存储区块前后动态配置数据断点以达到实时跟踪存储破坏,对存储区块前后边界跟踪范围的选取,需要根据系统调试阶段存储的充裕程度来决定。因为数据断点的自动配置,程序如果越界触及到存储区块前后设置的边界区域的时候,便会处理数据断点,而能自动的告知使用者已经有存储的越界操作,从而快速的定位出程序存储越界的错误,从而为使用者减轻对存储破坏问题的除错的难度,加快软件开发排除速度,缩短开发周期,节省开发人力成本。提升软件质量。
此外,若存储足够充裕,而对实时性要求特别严格的系统且CPU不具备过多地额外运算能力,可能过多的数据断点会影响到执行速度,因此可限定仅追踪最后申请的N块存储的操作,从而确保系统执行速度不受影响。另外,可增设程序开关,在适当的时候,如进入到需要排除的函数的时候,再打开跟踪开关,在局部运行跟踪的时候,使用此功能,其它已知没有发现问题的模块,可以屏蔽此功能,减少数据断点对系统速度的影响。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无敌科技(西安)有限公司,未经无敌科技(西安)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210423043.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可实现数据修改模式的装置及方法
- 下一篇:外文词汇显示系统及其方法