zoukankan      html  css  js  c++  java
  • 15.QT-Valgrind内存分析

    QT检测内存泄漏

    在Linux  Qt Creator里,有个Valgrind内存分析器,它用来检测应用程序是否发生内存泄漏

    安装:

    sudo apt-get install valgrind

    如何使用Valgrind内存分析器

    1.启动Valgrind内存分析器

     

    2.分析出有多处有可疑内存泄漏的地方,以下面为例:

    上图的蓝色线表示位于Qt库,所以我们不需要操心.

    看到红色线,是处于我们项目位置的,然后进入func()函数,发现可能是*trans指针没有Qt父对象,所以不能被自动释放

    需要注意的是: Valgrind内存分析器分析出来的都是可疑对象,并不一定真的是内存泄漏.

    3.然后通过打印,发现其父对象地址确实为0:

     

    4.指定Qt父对象后,然后从新分析内存,可以看到项目里没有内存泄漏了:

  • 相关阅读:
    案例分析
    阅读任务
    准备工作
    课程总结
    十三周总结
    第十二周总结
    第十一周学习总结
    第十周学习总结
    第九周课程总结&实验报告7
    第八周课程学习总结与实验6
  • 原文地址:https://www.cnblogs.com/lifexy/p/8981383.html
Copyright © 2011-2022 走看看