Est ce que quelqu'un à l'aide de valgrind et Qt?

Je suis en train de déboguer une grande compilation de l'application à l'aide de Qt/C++ et valgrind est la déclaration d'un lot de fuite de mémoire interne Qt choses.
Quelqu'un pourrait-il partager un bon valgrind de suppression de fichiers pour les applications Qt ?

Merci !

Par exemple.

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

retourne:

$ valgrind --leak-check=full --show-accessible=oui ./fuite 
==12655== Memcheck, une erreur de mémoire détecteur de 
==12655== Copyright (C) 2002-2009, et de la GNU GPL, par Julian Seward et coll. 
==12655== Utilisation de Valgrind-3.5.0-Debian et LibVEX; recourir avec -h pour les informations de copyright 
==12655== Commande: ./fuite 
==12655== 
==12655== 
==12655== TAS RÉSUMÉ: 
==12655== en cours d'utilisation à la sortie: 744 octets dans 7 blocs 
==12655== total de l'utilisation du tas: 28 allocations, 21 libère, de 1 640 octets alloués 
==12655== 
==12655== 16 octets 1 blocs sont toujours accessible dans la perte de l'enregistrement 1 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x6203124: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 96 octets 1 blocs sont accessible en perte record de 2 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x62030FC: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 96 octets 1 blocs sont accessible en perte record de 3 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x62041CD: QWaitCondition::QWaitCondition() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6200EAF: ??? (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62010A0: ??? (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6203132: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 120 octets 1 blocs sont accessible en perte record de 4 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6200DC8: QThreadData::QThreadData(int) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x620310C: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 120 octets 1 blocs sont toujours accessible dans la perte de l'enregistrement 5 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6200DE9: QThreadData::QThreadData(int) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x620310C: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 120 octets 1 blocs sont accessible en perte record de 6 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x61FE681: QMutex::QMutex(QMutex::RecursionMode) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6200E77: ??? (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62010A0: ??? (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6203132: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== 176 octets 1 blocs sont accessible en perte record de 7 de 7 
==12655== au 0x4C229C7: operator new(unsigned long) (vg_replace_malloc.c:220) 
==12655== par 0x6201092: ??? (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x6203132: QThreadData::current() (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x62FC4BC: QObject::QObject(QObject*) (dans /usr/lib/libQtCore..4.5.2) 
==12655== par 0x4008D2: principal (dans /tmp/Qt/bin/fuite) 
==12655== 
==12655== FUITE RÉSUMÉ: 
==12655== définitivement perdu: 0 octets 0 blocs 
==12655== indirectement perdu: 0 octets 0 blocs 
==12655== peut-être perdu: 0 octets 0 blocs 
==12655== toujours accessible: 744 octets dans 7 blocs 
==12655== supprimé: 0 octets 0 blocs 
==12655== 
==12655== Pour le compte de détecté et supprimé les erreurs, exécutez à nouveau avec: -v 
==12655== ERREUR RÉSUMÉ: 0 erreurs de 0 contextes (supprimée: 8 de 8) 

OriginalL'auteur malat | 2009-10-20