共查询到20条相似文献,搜索用时 328 毫秒
1.
针对可执行文件的动态内存管理容易产生的错误,设计并实现了一个Linux 平台下针对C/C++语言的动态内存检测模块DDMEM,使用自定义的ddmemMalloc()函数改写动态分配函数malloc(),实现了一个共享库ddmem.so,可以检测内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题。给出了函数不匹配的实例检测以验证方法的有效性。并与同类有代表性的检测工具memwatch进行了性能比较,证明该检测模块比memwatch整体更优。 相似文献
2.
C语言程序设计的健壮性与安全性研究 总被引:1,自引:0,他引:1
C语言的灵活性、高效率及庞大的用户群,使得其具有广阔的应用市场。设计高效、健壮、安全的C语言程序,一直是一种挑战。文章指出了在C语言程序设计中必须注意的问题,即类型转换不匹配、数组越界、指针非法访问、内存泄漏等。 相似文献
3.
通过对地球物理软件研发过程中比较常见内存错误的调研与总结,设计并实现了一个基于C/C++的动态内存检测工具,采用内嵌与关键函数截获方式,对编译器开放接口进行扩展与改进.该工具通过对软件运行过程中堆内存使用情况的实时收集、分类统计与分析,达到动态的监控与检测内存堆栈错误的目的.以中国石化石油物探技术研究院自主研发的油气综合解释系统NEWS子系统-叠前叠后联合解释模块主要流程为例,用该检测工具对其进行全面的测试与应用.实践表明,嵌入监测器的应用软件在开发过程中大幅降低了内存泄漏现象,运行时减少了内存错误导致的异常崩溃现象,提高了应用软件的稳定性,并能够对开发以及测试人员快速定位与分析软件错误起到较强的指导作用. 相似文献
4.
Linux平台下基于源代码插装的动态内存检测 总被引:1,自引:0,他引:1
在C/C++语言程序中.指针的使用使代码灵活、简便.但所带来的类似内存泄漏、内存写溢出等的内存使用的错误却很难分析和消除.针对这些容易出现的内存使用错误.提出了Linux平台下一种基于源文件信息提取和源代码插装的动态内存检测方法,设计实现了一个动态内存检测模块DDMEM.可以检测源代码的内存泄漏、内存写溢出、释放野指针和内存管理函数的不匹配等问题.给出了写溢出错误的一个实例检测,以验证方法的有效性. 相似文献
5.
为了高效地管理内存,防止内存泄漏、越界访问等问题的出现,在分析传统动态内存管理机制的基础上,提出了一种基于Windows虚拟内存管理的高效动态内存管理机制.通过创建内存管理器来维护虚拟地址空间和处理内存申请和释放请求,改进了传统动态内存分配与回收算法,并在VC++6.0开发平台上实现了该动态内存管理机制.测试结果分析表明,该方法有效降低了申请与释放内存的时间耗费,减少了内存碎片的产生,提高了动态内存管理效率. 相似文献
6.
一个动态内存管理模块的实现 总被引:2,自引:0,他引:2
徐文 《单片机与嵌入式系统应用》2002,(7):33-35
介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C语言开发环境的各种平台. 相似文献
8.
9.
在航天领域中,安全关键的大型实时软件系统往往直接影响到任务成败,一般难以全面检测、分析或避免内存泄漏等常见内存错误。定义了实时软件的12种典型内存故障模式,提出了一种基于C++代码插装的实时软件内存错误快速分析方法。该方法通过对C++源代码进行静态分析,获取指针变量相关信息;通过C++代码插装和运行不同测试用例,实时收集统计C++指针对象的分配、释放、赋值、c-use和p-use使用情况,结合实时软件的典型内存故障模式进行分析,并自动生成详情报告。应用案例表明,该方法能够高效快捷地发现实时软件潜在的典型内存错误,从而有效提高软件质量。 相似文献
10.
内存腐烂攻击在软件安全攻击中占据着较大的比重。近来,动态着色技术得到了越来越多的关注,这种技术通过在访问内存时检测指针的完整性来抵御攻击。然而,存在一类可以绕过指针完整性检查的策略来进行攻击的实例,比如数组的越界访问攻击。提出了一种基于动态着色跟踪分析的方法来解决这类已有着色技术不能检测的问题。其思想是,借助于内存访问控制的思路,首先像已有的动态着色技术那样,在内存访问时对指针进行完整性检查,然后检查指针将要访问的内存区域是否处于指针合理的访问范围之内。原型系统是基于Valgrind的,并不需要源码,因此可以用于很多商业软件。初步实验验证结果表明,该方法可以有效地检测出很多类型的攻击,系统的性能损耗接近于Memcheck这种常用的内存错误检测工具。 相似文献
11.
12.
13.
14.
15.
张郭军 《计算机应用与软件》2007,24(4):174-175
在利用MATLAB中的有关工具箱进行的系统仿真研究中,系统通常是利用其提供的仿真模块.虽然它比较直观,但仿真过程缓慢,且结构复杂,不易修改.通过利用Simulink 和C/C 混合编程技术建立的仿真系统,充分结合了Simulink 和C/C 语言各自的优点和长处,实现了高运行效率和高可视化.由于它的简单化、集成化,这种混合技术不但适用于系统仿真,而且有很好的工程应用价值. 相似文献
16.
17.
18.
19.
张毅杰 《单片机与嵌入式系统应用》2021,21(10):18-21
实时嵌入式系统不仅对运算结果的正确性有要求,而且对产生结果所需要的时间也有要求,即要求在一定的时间内产生运算结果.本文详细介绍了优化C/C++代码性能的方法,包括如何利用软件流水进行优化、如何优化循环、如何优化控制代码等,并通过在实际硬件上的对比测试,验证了优化前后代码性能的提升. 相似文献
20.
在Windows编程中图像处理相对比较复杂,好在C++Builder提供了一些图形类,它们通过对Windows中的图形对象进行包装,从而大大简化了图像操作的难度.本文通过对图像进行柔化、锐化、浮雕效果等几个特殊效果处理进行具体说明. 相似文献