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父對象后,然后從新分析內存,可以看到項目里沒有內存泄漏了:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM