首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到15条相似文献,搜索用时 109 毫秒
1.
Java应用程序中大量使用动态内存。Java程序运行过程中会自动对不可达的动态内存进行回收,但不能及时地对应用程序中可达但不活跃的动态内存进行回收,从而造成内存泄漏。为有效地检测内存泄漏,提出了采用双向推导进行内存泄漏检测的方法,在推导的过程中利用分离逻辑理论对应用程序中的动态内存进行分析,确定到达程序中每条语句的可达的动态内存和活跃的动态内存,辅助完成动态内存泄漏的检测。  相似文献   

2.
提出了一个有效的C 内存泄漏检测方法.方法在分析内存泄漏的基础上,通过重新实现动态内存分配和释放函数,记录内存分配的确切位置并跟踪动态内存的使用情况.在程序结束时,方法利用跟踪结果检测和定位内存泄漏.最后,通过在Windows和Linux平台上的实验验证了本文方法的有效性.  相似文献   

3.
为了高效地管理内存,防止内存泄漏、越界访问等问题的出现,在分析传统动态内存管理机制的基础上,提出了一种基于Windows虚拟内存管理的高效动态内存管理机制.通过创建内存管理器来维护虚拟地址空间和处理内存申请和释放请求,改进了传统动态内存分配与回收算法,并在VC++6.0开发平台上实现了该动态内存管理机制.测试结果分析表明,该方法有效降低了申请与释放内存的时间耗费,减少了内存碎片的产生,提高了动态内存管理效率.  相似文献   

4.
C/C 语言中的动态内存管理机制自由且灵活,但动态内存的使用容易引入内存泄漏,导致系统性能降低甚至系统崩溃。为了更加有效的检测内存泄漏,提出了一个基于有界模型检测技术的C/C 程序内存泄漏检测方案MLD-CBMC。该方案以C/C 程序文件为输入,利用有界模型检测技术,对程序进行展开处理,加入内存泄漏性质,并利用可满足性模理论(SMT)对程序约束和性质组成的验证条件编码,使用SMT求解器对验证条件求解,将检测内存泄漏问题转换为求解可满足性问题,实现C/C 程序内存泄漏的检测。通过实验验证了方案的有效性,并与其他有界模型检测工具进行对比实验,实验证明方案对内存泄漏的检测能力更强。  相似文献   

5.
内存泄漏故障是一个程序员所必须关心的问题之一。通过对内存泄漏及其相关检测技术的研究,提出面向类型的动态内存泄漏检测的概念,使泄漏检测具有较高的实时性,大大降低由于内存泄漏检测而导致CPU占用时间的急剧变化值,并在Linux下验证了算法的真实有效性。  相似文献   

6.
基于Linux的动态内存检测工具的设计与实现   总被引:2,自引:0,他引:2  
内存的动态内存使用问题是C/C++程序员永远面临的问题。针对内存管理和使用的各类错误,设计并实现一个基于Linux的动态内存检测模块,可以对源码程序检测出内存泄漏、内存写溢出、“野指针”操作和内存管理函数的不匹配等问题。实验结果表明,系统具有效率高、易用性好的特点。  相似文献   

7.
动态内存错误的静态检测   总被引:1,自引:0,他引:1  
内存泄漏、空指针引用等动态内存错误在C,C 等支持动态内存操作的程序中普遍存在.在程序中,动态内存管理错误是导致动态内存错误的根本原因.动态内存错误的静态检测方法是在对程序进行静态分析的基础上,应用路径别名分析方法,确定动态内存变量之间存在的过程内和过程间的路径别名关系,在此基础上对程序中违反动态内存管理模式的动态内存操作进行分析,以确定程序中存在的动态内存错误.  相似文献   

8.
孙青岩  陈平 《计算机工程》2004,30(20):42-44
内存泄漏是程序设计中经常出现的问题,会降低系统性能,甚至耗尽内存空间导致系统崩溃。文章采用反射和开放编译技术,对开放编译器OpenC 进行了扩展与改进,设计并实现了一个CC 动态内存泄漏检测工具,以帮助开发和测试人员查找内存泄漏。  相似文献   

9.
Linux平台下基于源代码插装的动态内存检测   总被引:1,自引:0,他引:1  
在C/C++语言程序中.指针的使用使代码灵活、简便.但所带来的类似内存泄漏、内存写溢出等的内存使用的错误却很难分析和消除.针对这些容易出现的内存使用错误.提出了Linux平台下一种基于源文件信息提取和源代码插装的动态内存检测方法,设计实现了一个动态内存检测模块DDMEM.可以检测源代码的内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题.给出了写溢出错误的一个实例检测,以验证方法的有效性.  相似文献   

10.
顾胜元  杨丹  黄海伦 《计算机工程》2009,35(20):264-266
长时间持续运行的通信设备必须满足实时性、可靠性和高效性的需求,针对通信领域的该特点,提出一种嵌入式实时动态内存管理机制。该机制对嵌入式系统有限的内存资源进行统一再分配,为频繁申请和释放内存块的应用分配独立的内存空间。实验结果表明,该机制能实时地提高动态内存管理效率,减少内存碎片,保证系统的健壮性,还提供了内存越界和内存泄漏的检测手段。  相似文献   

11.
内存泄漏是软件开发中的一个难以定位和修正的严重错误。在大多数情况下,动态内存的有效域虽未明确写出,但仍是程序的局部;且程序动态运行的轨迹在一定程度上反映程序的静态性质。基于以上观察,开发了在面向函数定位框架中嵌入动态分析的内存泄漏监测新方法。新方法中,先建立程序的函数动态调用树,其中包含程序分配释放内存的信息,再在调用树中总结程序的静态性质,为内存泄漏定位提供有价值的信息。该文用两个实例展示这个方法的有效性。  相似文献   

12.
一直以来内存泄露都是程序员们非常关心的一个大问题,通过借助一些工具,程序员可以查找到程序中存在的内存泄露的问题。内存溢出的出现会给程序员带来很多的烦恼。本文针对.NET环境中的内存泄露问题进行分析并指出应如何正确使用c#的垃圾回收机制。  相似文献   

13.
针对可执行文件的动态内存管理容易产生的错误,设计并实现了一个Linux 平台下针对C/C++语言的动态内存检测模块DDMEM,使用自定义的ddmemMalloc()函数改写动态分配函数malloc(),实现了一个共享库ddmem.so,可以检测内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题。给出了函数不匹配的实例检测以验证方法的有效性。并与同类有代表性的检测工具memwatch进行了性能比较,证明该检测模块比memwatch整体更优。  相似文献   

14.
Memory leaks are usually not associated with runtime environments with automatic garbage collection; however, memory leaks do happen in such environments and present a challenge to detect and find a root cause. Currently in the industry manual heap dump analysis is the most popular way of finding memory leaks, regardless of the number of automated methods proposed by scientists over the years. However, heap dump analysis alone cannot answer all questions needed to fix the leak effectively. The current paper reviews memory leak detection approaches proposed over the years and classifies them from the point of view of assessed metrics, performance overhead and intrusiveness. In addition, we classify the methods into online, offline and hybrid groups based on their features.  相似文献   

15.
动态内存分配为C/C++语言编程人员提供了极大的灵活性,但同时也带来了一个潜在的严重问题——内存泄露。与桌面系统相比,嵌入式系统处理能力弱、内存空间小、运行时间长,如果在程序运行期间发生内存泄露,将导致系统崩溃,造成不可预料的后果,因此需要在开发调试阶段尽早检测出造成内存泄露的代码。提出了一种基于动态检测技术和程序插装技术的嵌入式软件内存泄露分布式检测方法。该方法的实现思想是当程序在目标机运行时,插装代码自动截获内存操作函数,收集内存操作相关信息并把收集到的信息发送到服务器端处理,实现了嵌入式系统内存泄露的准确检测。实验结果证明,由于采用分布式技术进行信息处理,内存泄露检测效率得到了很大的提升。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号