码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux 下内存泄漏分析


    linux 下内存泄漏分析

    Linux下内存问题检测神器:Valgrind

    在写大型C/C++工程时难免会发生内存泄漏现象,系统编程中一个重要的方面就是有效地处理与内存相关的问题。
    你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。
    常见的内存问题一共七种:

      1. 动态内存泄露;malloc分配的,没有及时dellet调
      2. 资源泄露,比如文件指针不关闭;
      3. 动态内存越界;
      4.数组内存越界;
      5.动态内存double free;
      6.使用野指针,即未初始化的指针;
      7.释放野指针,即未初始化的指针。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    内存问题非常难定位,对于小工程来说,简单去检查代码中new和delete的匹配对数就基本能定位到问题,
    但是一旦代码量上升到以万单位时,仅靠肉眼检查来定位问题那就非常困难了,
    所以我们需要利用工具帮助我们找出问题所在。

    在Linux系统下内存检测工具首推Valgrind,一款非常好用的开源内存管理框架。
    Valgrind其实是一个工具集,内存错误检测只是它众多功能的一个,
    但我们用得最多的功能正是它——memcheck。

    该工具可以检测下列与内存相关的问题 :

      1.未释放内存的使用(使用野指针)
      2.对释放后内存的读/写(使用野指针)
      3.从已分配内存块尾部的读/写(动态内存越界)
      4.内存泄露(没有成对地使用malloc/free和new/delete)
      5.不匹配的使用malloc/new/new[] 和 free/delete/delete[]
      6.重复释放内存(double free的情况同样是根据malloc/free的匹配对数来体现的)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    『Linux升级路』基本指令
    录屏怎么录声音?用手机录屏怎么把声音录进去
    Dubbo invoke命令使用
    LeetCode_二分搜索_中等_540.有序数组中的单一元素
    从化区委刘棕会访从玉农业 林裕豪:再入大湾区菜篮子工程
    java类和对象——static成员与代码块
    学生家乡网页设计作品静态HTML网页—— HTML+CSS+JavaScript制作辽宁沈阳家乡主题网页源码(11页)
    艾美捷Bio-Helix BluPAD双LED蓝白光照胶台丨舒适、方便
    中年帕金森:守护健康,从容面对生活挑战
    【Spring Cloud Alibaba】开源组件Sentinel
  • 原文地址:https://blog.csdn.net/RuanJian_GC/article/details/132724539
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号