共查询到15条相似文献,搜索用时 78 毫秒
1.
针对可执行文件的动态内存管理容易产生的错误,设计并实现了一个Linux 平台下针对C/C++语言的动态内存检测模块DDMEM,使用自定义的ddmemMalloc()函数改写动态分配函数malloc(),实现了一个共享库ddmem.so,可以检测内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题。给出了函数不匹配的实例检测以验证方法的有效性。并与同类有代表性的检测工具memwatch进行了性能比较,证明该检测模块比memwatch整体更优。 相似文献
2.
Linux平台下基于源代码插装的动态内存检测 总被引:1,自引:0,他引:1
在C/C++语言程序中.指针的使用使代码灵活、简便.但所带来的类似内存泄漏、内存写溢出等的内存使用的错误却很难分析和消除.针对这些容易出现的内存使用错误.提出了Linux平台下一种基于源文件信息提取和源代码插装的动态内存检测方法,设计实现了一个动态内存检测模块DDMEM.可以检测源代码的内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题.给出了写溢出错误的一个实例检测,以验证方法的有效性. 相似文献
3.
4.
一个动态内存管理模块的实现 总被引:4,自引:0,他引:4
徐文 《单片机与嵌入式系统应用》2002,(9):31-32,35
介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C语言开发环境的各种平台。 相似文献
5.
一个动态内存管理模块的实现 总被引:2,自引:0,他引:2
徐文 《单片机与嵌入式系统应用》2002,(7):33-35
介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C语言开发环境的各种平台. 相似文献
6.
Linux下面向函数的动态内存泄漏监测 总被引:4,自引:1,他引:4
动态内存泄漏是一个严重的编程错误,可以导致程序的错误行为。由于定位内存泄漏发生的位置是困难的,一些工具已被开发出来辅助程序员找出内存泄漏。论文提出了面向函数的动态内存泄漏监测的概念,阐述了它的必要性和有效性,并给出了在Linux下的实现。 相似文献
7.
8.
本文基于现有嵌入式操作系统动态内存管理机制的原理,研究和分析了μC/OS、free RTOS等多个微型嵌入式操作系统内存管理的优缺点,以多平台通用、高效率、简单易用为目标,实现了一种新的动态内存管理机制,主要适用于不使用操作系统或使用小型操作系统的嵌入式产品中,有效解决了动态内存的管理问题。 相似文献
9.
在软件开发过程中,共享内存经常会遇到一个进程消耗太多内存导致其他进程无法得到需要内存的潜在问题,针对该问题,基于Linux内核实现一种动态内存管理机制,该机制能够限制每个进程所能申请的最大内存数,同时可以避免进程内存泄露造成的系统崩溃。实验结果表明,该机制效率高、且易用性好。 相似文献
10.
在软件开发过程中,共享内存经常会遇到一个进程消耗太多内存导致其他进程无法得到需要内存的潜在问题,针对该问题,基于Linux内核实现一种动态内存管理机制,该机制能够限制每个进程所能申请的最大内存数,同时可以避免进程内存泄露造成的系统崩溃。实验结果表明,该机制效率高、且易用性好。 相似文献
11.
基于指针映射集的动态内存故障测试方法研究 总被引:2,自引:0,他引:2
动态内存故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源.而现有的静态分析方法主要存在漏报和误报过多的情况.针对这些问题,提出了指针映射代数系统的概念,全面地反映了指针与内存之间的映射关系,并给出了面向不同故障的指针映射集的构造规则,以此为基础建立了动态内存故障模型.通过指针映射集和故障模型,可以自动检测内存释放异常、内存泄露和空指针引用等动态内存故障,提高了测试效率.在分析过程中,还综合应用了控制流图和路径条件,提高了测试结果的精度.实验结果表明,该方法能够有效检测动态内存故障,而且出于规则定义较为全面,漏报和误报率也较低. 相似文献
12.
内存泄漏是程序设计中经常出现的问题,会降低系统性能,甚至耗尽内存空间导致系统崩溃。文章采用反射和开放编译技术,对开放编译器OpenC 进行了扩展与改进,设计并实现了一个CC 动态内存泄漏检测工具,以帮助开发和测试人员查找内存泄漏。 相似文献
13.
基于局部堆内存抽象表示的堆操作程序内存泄露检测 总被引:1,自引:0,他引:1
堆操作程序通过共享易变数据结构可灵活地申请、合并、删除堆内存.这类程序的内存泄漏检测要求精确的域敏感的指针别名信息,变得尤其复杂和难以处理.针对这个问题,提出了基于“指针扩展类型”域敏感的堆内存抽象方法,对指针变量在形态上的排列关系进行抽象以支持堆的局部推理.首先,定义了各种基本语句的操作语义,然后基于该抽象方法采用前向数据流迭代算法提出了一种新的内存泄露检测算法.在Crystal编译框架下实现了面向C程序的内存泄漏检测原型工具Heapcheck,该工具支持复杂数据结构内指针型数据域上的内存泄露检测.在典型基准C程序上的实验结果分析表明,该方法与现有的技术相比在效率和精度上都具有优势. 相似文献
14.
内存泄漏是软件开发中的一个难以定位和修正的严重错误。在大多数情况下,动态内存的有效域虽未明确写出,但仍是程序的局部;且程序动态运行的轨迹在一定程度上反映程序的静态性质。基于以上观察,开发了在面向函数定位框架中嵌入动态分析的内存泄漏监测新方法。新方法中,先建立程序的函数动态调用树,其中包含程序分配释放内存的信息,再在调用树中总结程序的静态性质,为内存泄漏定位提供有价值的信息。该文用两个实例展示这个方法的有效性。 相似文献
15.
内存腐烂攻击在软件安全攻击中占据着较大的比重。近来,动态着色技术得到了越来越多的关注,这种技术通过在访问内存时检测指针的完整性来抵御攻击。然而,存在一类可以绕过指针完整性检查的策略来进行攻击的实例,比如数组的越界访问攻击。提出了一种基于动态着色跟踪分析的方法来解决这类已有着色技术不能检测的问题。其思想是,借助于内存访问控制的思路,首先像已有的动态着色技术那样,在内存访问时对指针进行完整性检查,然后检查指针将要访问的内存区域是否处于指针合理的访问范围之内。原型系统是基于Valgrind的,并不需要源码,因此可以用于很多商业软件。初步实验验证结果表明,该方法可以有效地检测出很多类型的攻击,系统的性能损耗接近于Memcheck这种常用的内存错误检测工具。 相似文献