在Qt Creator中使用“Analyze Memory”工具

时间:2011-12-12 11:31:53

标签: c++ qt memory-management qt-creator valgrind

我正在使用Qt Creator开发C ++应用程序,我正在尝试追踪一些内存泄漏。

我已关注these instructions *,并在我的Ubuntu机器上安装了Valgrind。

我从Analyze Memory部分开始我的应用程序,点击停止按钮后,我被告知Tool Analyze Memory finished, 928 issues found。但是,分析部分中没有显示结果,该结果仍为空白。

我做错了吗?我在哪里可以找到记忆分析的结果?


*令人困惑的是,指令要求“发布”构建配置,但选择此项会在Qt中引发警告,说内存分析工具需要调试配置。我已经尝试过两种方式。

2 个答案:

答案 0 :(得分:11)

我已经在我的Qt Creator中检查了它并且它有效。我使用的是版本2.3.1和Qt 4.7.4以及Valgrind 3.7.0。我已经使用Debug构建配置在dropsite example上测试了它。我还使用基于CMake的项目(compiled使用-g和-O0标志)测试了它,它也有效。确保选择了开始按钮Valgrind Memory Analyzer旁边的。在同一个栏上你会找到箭头图标。它们旁边是漏斗的图标(我想)。单击它并确保检查您感兴趣的错误类型。

如果它不起作用,并且你不想在控制台上使用Valgrind工具,还有其他Valgrind GUIs像Valkyrie。

编辑:我已将Qt Creator更新到版本2.4.0rc1并使用我的CMake项目进行了检查。它也没有显示任何结果,同时报告了几百个问题。解决此问题的方法是在点击渠道图标后检查External errors

EDIT2:最终的2.4.0问题得到解决。

答案 1 :(得分:1)

你没有做错任何事。在Valgrind菜单中,按Filter图标并选择External Errors。您将看到所有问题出现。这些很可能不是来自你的应用程序,而是Qt-或其他相关的,所以你经常可以忽略它们。

X issues found指的是问题总数;取消选中External Errors时,只显示与您的应用相关的内容。如果没有,Valgrind没有在您的应用中检测到任何内存泄漏。