摘要
通过对地球物理软件研发过程中比较常见内存错误的调研与总结,设计并实现了一个基于C/C++的动态内存检测工具,采用内嵌与关键函数截获方式,对编译器开放接口进行扩展与改进.该工具通过对软件运行过程中堆内存使用情况的实时收集、分类统计与分析,达到动态的监控与检测内存堆栈错误的目的.以中国石化石油物探技术研究院自主研发的油气综合解释系统NEWS子系统-叠前叠后联合解释模块主要流程为例,用该检测工具对其进行全面的测试与应用.实践表明,嵌入监测器的应用软件在开发过程中大幅降低了内存泄漏现象,运行时减少了内存错误导致的异常崩溃现象,提高了应用软件的稳定性,并能够对开发以及测试人员快速定位与分析软件错误起到较强的指导作用.
Through the summary of the common memory errors research in the geophysical software development process, we design and implement a dynamic memory detection tool based on C/C++ by using the embedded and key function interception, which can expand and improve the compiler open interface. Through the real-time collection, classification, statistic and analysis of the heap memory usage in the running process of software, the tool achieves dynamic monitoring and detection of false memory stack. We take the NEWS software subsystem of prestack and poststack joint interpretation module process as an example to test and apply it comprehensively. The practice shows that the monitor, embedded in the software, can greatly reduce the memory leak phenomenon during the development process, and decrease the runtime memory errors caused by abnormal collapse phenomenon, and improve the stability of the application software. It also plays a strong role in the development to help tester’s in rapid location and analysis of software errors.
出处
《计算机系统应用》
2016年第12期262-267,共6页
Computer Systems & Applications
基金
国家科技重大专项(2011ZX05035)