
007-内存泄露测试
sishuihuahua
白天搬砖,晚上砌梦想!
展开
-
【内存泄漏】- 1. 内存泄漏概念与测试工具介绍
序言:2018年5月的时候,因为工作需要专门去研究了内存泄漏。主要是要去检测Linux c项目代码以及python代码。对Linux c的内存泄漏检测可能还比较熟悉,但是对脚本语言python进行内存泄漏的测试,我一开始表示完全不知情,随着查找资料,才逐渐明朗。所以这个内存泄漏版块,主要为了记录一下当时是如何选择工具,为什么选择这个工具,如何使用这个工具,效果怎么样。 一、 内存泄漏的...原创 2018-12-02 20:01:26 · 3242 阅读 · 0 评论 -
【内存泄漏】- 2. 使用cppcheck+Jenkins检测c、c++内存泄漏
一、 什么是程序静态分析? 程序静态分析是指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。 二、 程序静态分析是怎样检测内存泄漏的?静态分析工具相比编译器,对代码进行了更加严格的检查,像数组越界访问、内存泄漏、使用不当的类型转换等问题,都可以通过静态分析工具检...原创 2018-12-16 20:51:41 · 3991 阅读 · 0 评论 -
【内存泄漏】- 3. 使用splint检测c、c++内存泄漏
在上一篇博文中已经介绍过什么是静态内存分析,静态内存分析可以检测程序的哪些逻辑问题。上篇博文主要讲解cppcheck工具在linux下的使用,这篇博文主要讲解splint工具可以检测哪些代码逻辑,与cppcheck又有哪些区别。一、 什么是splint(原来的 LCLint) 是一个GNU免费授权的 Lint程序,是一个动态检查C语言程序安全弱点和编写错误的程序。Splin...原创 2019-01-03 23:06:02 · 1673 阅读 · 0 评论 -
【内存泄漏】- 4. 使用python的gc+pyrasite模块检测python内存泄漏
Python内存泄漏测试1、 Python内存泄漏处理机制 为了解决内存泄漏的问题,Python2.0的版本开始引入“引用计数”,并基于引用计数实现了自动垃圾收集,后来为了解决循环引用导致内存泄漏的问题,又引入“标记-清除”、“分代回收”机制。 Python的垃圾收集器可以让python程序良好运行,但仍有其他原因可能造成python内存泄漏的情况,比如为了提...原创 2019-01-06 00:55:41 · 5147 阅读 · 0 评论 -
【内存泄漏】- 5. 使用Valgrind工具检测Python内存泄漏
1. 什么是valgrind Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系...原创 2019-01-06 15:42:35 · 6533 阅读 · 1 评论