Кто-нибудь использует valgrind и Qt?

Я пытаюсь отладить сборку большого приложения с использованием Qt / C ++, а valgrind сообщает о большой утечке памяти из внутреннего содержимого Qt. Может ли кто-нибудь поделиться правильным файлом подавления valgrind для приложений Qt?

Спасибо !

Например.

#include <qobject.h>
int main()
{
  QObject o;
  return 0;
}

возвращает:

$ valgrind  --leak-check=full  --show-reachable=yes  ./leak
==12655== Memcheck, a memory error detector
==12655== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==12655== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info
==12655== Command: ./leak
==12655== 
==12655== 
==12655== HEAP SUMMARY:
==12655==     in use at exit: 744 bytes in 7 blocks
==12655==   total heap usage: 28 allocs, 21 frees, 1,640 bytes allocated
==12655== 
==12655== 16 bytes in 1 blocks are still reachable in loss record 1 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x6203124: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 96 bytes in 1 blocks are still reachable in loss record 2 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x62030FC: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 96 bytes in 1 blocks are still reachable in loss record 3 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x62041CD: QWaitCondition::QWaitCondition() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6200EAF: ??? (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62010A0: ??? (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6203132: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 120 bytes in 1 blocks are still reachable in loss record 4 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6200DC8: QThreadData::QThreadData(int) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x620310C: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 120 bytes in 1 blocks are still reachable in loss record 5 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6200DE9: QThreadData::QThreadData(int) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x620310C: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 120 bytes in 1 blocks are still reachable in loss record 6 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6200E77: ??? (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62010A0: ??? (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6203132: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== 176 bytes in 1 blocks are still reachable in loss record 7 of 7
==12655==    at 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==12655==    by 0x6201092: ??? (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x6203132: QThreadData::current() (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x62FC4BC: QObject::QObject(QObject*) (in /usr/lib/libQtCore.so.4.5.2)
==12655==    by 0x4008D2: main (in /tmp/Qt/bin/leak)
==12655== 
==12655== LEAK SUMMARY:
==12655==    definitely lost: 0 bytes in 0 blocks
==12655==    indirectly lost: 0 bytes in 0 blocks
==12655==      possibly lost: 0 bytes in 0 blocks
==12655==    still reachable: 744 bytes in 7 blocks
==12655==         suppressed: 0 bytes in 0 blocks
==12655== 
==12655== For counts of detected and suppressed errors, rerun with: -v
==12655== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 8 from 8)

Ответы на вопрос(3)

Ваш ответ на вопрос