Valgrind的Qt内存泄漏抑制文件
Suppression files for Qt memory leaks with Valgrind
我通常用C++编写类,并在Linux平台上使用valgrind检查它们是否泄漏内存。直到所有堆内存都释放出来,我才满意。
开始在Qt中写作时,我发现valgrind在一个简单的项目中检测到了多少泄漏。它们太多了,很难检测到我的泄漏。
我在某个地方读到了可以使用valgrind的抑制文件,这有助于过滤掉不需要的泄漏,但我找不到。
我使用的是Ubuntu 11.04 x64,g++4.5,Qt 4.7。有人知道如何处理这个问题吗?
你看过这个"Valgrind Suppression File Howto"维基吗?
为了记录在案,Qt中有一些底层库(尤其是绘画过程中的库)总是会泄漏少量内存。这些是你需要抑制的。
正如您所说,您应该首先创建一个最小的项目,运行它来创建一个valgrind抑制文件,然后将该抑制文件应用于您的项目。
请注意,许多库都有内部分配结构,您永远无法清理这些结构,这很正常。
I只是使用抑制文件来抑制Qt库中报告的所有内存,如下所示:
{
<QtCore>
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6
}
...
相关文章:
- .cpp和.h文件中的模板专用化声明
- valgrind-hellgrind与泄漏检查的结果不同
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 是标头文件中使用“新”定义的成员指针泄漏
- 不可预测的文件描述符泄漏
- 从文件读取时内存泄漏
- 使用缓冲区写入文件时,C 内存会泄漏
- 我的C++文件中是否有可能的内存泄漏
- C++读取文件时可能发生内存泄漏
- 从C++打开文件对话框时,JNI内存泄漏
- 当在头文件上而不是在CPP文件上实现时,析构函数会导致内存泄漏——仅在linux上实现
- Valgrind的Qt内存泄漏抑制文件
- 使用Windbg从转储文件中分析可能的内存泄漏
- Valgrind内存泄漏错误的文件跟踪
- 打开文件对话框和内存泄漏
- 使用FindFile和文件句柄的c++内存泄漏
- 有没有办法找到泄漏的内存使用核心文件
- Solaris中如何检测文件泄漏以及相应的代码
- clang++生成的可执行文件会泄漏内存,关于std::function和lambda
- 内存泄漏检测文件错误