【技术实现步骤摘要】
本专利技术属于对软件可靠性的改进,具体涉及一种定位无操作系统的嵌入式系统内存泄露的方法。
技术介绍
内存泄露是软件系统中很常见的缺陷,内存泄露会导致软件系统运行时可用内存减少,软件运行速度变慢,甚至会由于内存耗尽而产生系统崩溃。检测软件是否存在内存泄露和定位出造成内存泄露地具体位置已成为软件调试和可靠性测试的重要内容。目前,一般由编写软件的工程师自己详细审查代码,确认软件是否存在内存泄露,并查找出造成内存泄露的具体位置。当软件系统达到一定规模后使用此方法费力又耗时,且效果不佳。另一种方法是采用专用的商用软件来检测和定位,使用此方法需要较高的成本。
技术实现思路
本专利技术克服了现有技术中的不足,提供了,可准确、快速地发现软件是否存在内存泄露,并准确查找出造成内存泄露的位置。本专利技术的技术方案概述如下,包括如下步骤A.在软件主循环中嵌入内存泄露检查模块,该内存泄露检查模块多次重复分配和释放内存空间,并记录内存泄露检查模块自身的运行时间;B.至少运行两次主循环,将每次记录的内存泄露检查模块的运行时间进行比较,如果上述内存泄露检查模块的运行时间逐渐增加,就判定软件存在内 ...
【技术保护点】
一种定位无操作系统的嵌入式系统内存泄露的简易方法,其特征在于包括如下步骤:A.在软件主循环中嵌入内存泄露检查模块,该内存泄露检查模块多次重复分配和释放内存空间,并记录内存泄露检查模块自身的运行时间;B.至少运行两次主循环,将 每次记录的内存泄露检查模块的运行时间进行比较,如果上述内存泄露检查模块的运行时间逐渐增加,就判定软件存在内存泄露,否则,就判定不存在内存泄露;C.如果存在内存泄露,运行该软件,比较其对各个地址的内存的分配和释放次数,确定是否有某个特 定地址的内存未被释放;D.最后分配该特定地址的内存的指令就是造成内存泄露的位置。
【技术特征摘要】
1.一种定位无操作系统的嵌入式系统内存泄露的简易方法,其特征在于包括如下步骤A.在软件主循环中嵌入内存泄露检查模块,该内存泄露检查模块多次重复分配和释放内存空间,并记录内存泄露检查模块自身的运行时间;B.至少运行两次主循环,将每次记录的内存泄露检查模块的运行时间进行比较,如果上述内存泄露检查模块的运行时间逐渐增加,就判定软件存在内存泄露,否则,就判定不存在内存泄露;C.如果存在内存泄露,运行该软件,比较其对各个地址的内存的分配和释放次数,确定是否有某个特定地址的内存未被释放;D.最后分配该特定地址的内存的指令就是造成内存泄露的位置。2.根据权利要求1所述的一种定位无操作系统的嵌入式系统内存泄露的简易方法,其特征在于所述步骤B之后步骤C之前还包括如下步骤21)、在存在内存泄露的软件中注销一个软件模块;22)、至少运行两次主循环,将每次记录的内存泄露检查模块的运行时间进行比较,如果上述内存泄露检查模块的运行时间没有逐渐增加,就判定被注销的软件模块中存在内存泄露,剩余软件模块中不存在内存泄露,进入步骤C,如果上述内存泄露检查模块的运行时间逐渐增加,就进行步骤23);23)、比较注销软件模块前后的内存泄露检查模块运行时间的增量,如果增量减少,就判定被注销的软件模块中存在内存泄露,剩余软件模块中存在内存泄露,如果增量没有减少,就判定被注销的软件模块中不存在内存泄露,剩余软件模块中存在内存泄露。...
【专利技术属性】
技术研发人员:黄晋锋,
申请(专利权)人:兆日科技深圳有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。