首页> 中文学位 >嵌入式软件动态内存检测工具的研究与实现
【6h】

嵌入式软件动态内存检测工具的研究与实现

代理获取

目录

文摘

英文文摘

声明

第一章 绪论

1.1 引言

1.2 软件测试重要性

1.3 嵌入式系统内存特性

1.4 应用前景

1.5 论文的组织结构

1.6 本章小结

第二章 嵌入式软件研究综述

2.1 嵌入式技术发展历史

2.2 嵌入式软件定义

2.3 嵌入式软件特点与应用前景

2.3.1 嵌入式软件特点

2.3.2 嵌入式软件应用前景

2.4 嵌入式软件测试研究

2.4.1 嵌入式软件测试目的

2.4.3 嵌入式软件测试分类

2.4.4 嵌入式软件测试策略

2.4.5 嵌入式软件测试研究现状

2.5 国内外内存检测研究现状

2.5.1 现有内存测试工具

2.5.2 现有内存测方法

2.6 本章小结

第三章 嵌入式软件动态内存检测工具设计

3.1 内存使用问题分析

3.2 动态内存空间管理

3.2.1 glibc对内存的管理

3.2.2 GNU C库动态内存分配的实现

3.3 Linux进程的映射

3.4 内存检测设计框架

3.4.1 测试代理

3.4.2 微观测试

3.4.3 宏观测试

3.4.4 检测算法

3.4.5 数据库设计

3.5 本章小结

第四章 嵌入式软件动态内存检测工具具体实现

4.1 测试代理实现

4.1.1 测试代理流程

4.1.2 执行测试流程

4.1.3 传输控制命令

4.2 微观检测主要函数

4.2.1 插桩库原理

4.2.2 malloc函数实现原理与流程

4.2.3 free函数实现原理与流程

4.3 检测算法设计

4.3.1 内存泄漏

4.3.2 内存访问越界

4.3.3 野诣针

4.3.4 两次释放指针

4.3.5 释放空指针

4.4 宏观检测功能实现

4.4.1 实现原理

4.4.2 虚拟文件系统proc分析

4.4.3 设备驱动概念

4.4.4 相关数据结构分析

4.4.5 设备驱动模块流程

4.4.6 主要函数实现过程

4.5 数据库具体实现

4.6 本章小结

第五章 内存检测工具应用与测试结果分析

5.1 测试环境

5.2 功能测试

5.3 性能测试

5.4 测试结果分析

5.5 本章小结

结论

参考文献

攻读博士/硕士等啦期间取得的研究成果

致谢

展开▼

摘要

随着计算机技术的飞速发展,嵌入式系统的硬件规模和性能得到了极大提高,相应的,嵌入式系统软件和应用软件的规模也日益提高,同时嵌入式系统的特殊性决定了运行在其上的系统和应用软件必须精简高效,稳定可靠,使得软件开发在整个嵌入式系统开发中的比重越来越高,软件的质量对整个产品的质量起到了决定性的作用。因此我们迫切需要-种针对嵌入式领域的测试旺具来提高软件的质量和可靠性,缩短软件的开发周期。嵌入式平台内存受限,实时性要求高,如果嵌入式软件发生内存泄漏,内存资源不断的消耗,严重的导致整个系统崩溃。内存资源不断的消耗,导致系统的性能下降,程序运行变慢,无法及时响应用户的输入输出请求。在嵌入式操作系统中,内存管理实现的好坏对系统性能有决定性的作用。如何有效管理内存泄露、内存碎片和内存崩溃等问题对嵌入式软件开发变得越来越突出。针对嵌入式软件出现的内存问题,提出了嵌入式Linux平台下数据采集和测试分离的交叉测试式的方法,设计实现了-个嵌入式软件动态内存的检测工具,可以动态的、实时的检测软件的内存泄漏、内存写溢出、释放野指针、内存管理函数的不匹配和多次释放内存等问题。
   本研究从用户进程对内存使用的申请和释放操作入手,把内存泄漏检测的问题分为宏观检测和微观检测两部分,这两部分具有相对的独立性,微观测试可以捕捉到-个进程泄漏的内存地址、泄漏的内存块大小、释放的空指针、野指针操作以及两次释放同一块内存空间。微观测试捕捉进程内存分配和释放的行为,通过编译生成-个新的动态库来替换glibc中用户空间内存管理函数,这个过程仅仅是替换,真正的内存分配与释放仍然需要调用glibc中的动态内存管理函数。宏观检测根据获得内核态进程的虚拟内存和实际内存的情况,来判断-个进程是否有内存泄漏。最后给出了实例,以验证方法的有效性和可靠性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号