QT检测内存泄漏

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

安装:

sudo apt-get install valgrind

如何使用Valgrind内存分析器

1.启动Valgrind内存分析器

 15.QT-Valgrind内存分析

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

15.QT-Valgrind内存分析

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

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

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

 

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

 15.QT-Valgrind内存分析

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

15.QT-Valgrind内存分析

 

相关文章:

  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2021-05-22
  • 2021-05-11
  • 2021-04-24
猜你喜欢
  • 2021-06-24
  • 2021-11-01
  • 2022-12-23
  • 2021-09-17
  • 2022-12-23
  • 2022-01-16
  • 2021-12-24
相关资源
相似解决方案