2010-03-18 9 views
7

Können Sie mir bitte sagen, wie kann ich valgrind für Speicherprofil verwenden? Der Artikel, den ich von Google gefunden habe, spricht über die Verwendung von Valgrind für Speicherlecks. Ich bin daran interessiert, wie man das für die Speicherprofilierung verwendet (d. H. Wie viel Speicher wird von welchen Klassen verwendet)?Wie kann ich valgrind für Speicherprofil verwenden

Vielen Dank.

Antwort

10

Sie können das Tool Massif von Valgrind verwenden, um ein Heap-Profil abzurufen. Dieser Code wird weiterhin als "experimentell" bezeichnet und wird nicht mit allen Versionen von Valgrind ausgeliefert. Möglicherweise müssen Sie von der Quelle herunterladen und erstellen.

Beachten Sie auch, dass das Heap-Profil von Zuweisungssite organisiert ist, die eine feinere Granularität als Klassen aufweist. Wenn Sie Informationen nach Klassen geordnet benötigen, müssen Sie die Entwicklerdokumentation lesen und das maschinenlesbare Format abrufen und dann herausfinden, welche Zuweisungsseiten zu welchen Klassen gehören - vielleicht mit Unterstützung Ihres Compilers.

Auch ohne Unterstützung von Klassen kann das Massif-Profil nützlich sein.

+2

+1. Das Massif ist fleißig stabil, obwohl es noch eine Weile dauern wird, bis sich dieser Status offiziell geändert hat. Ich habe nicht davon gehört, dass es in die Luft gesprengt ist, Goldfische imprägniert oder (keuchend) lange auf den Valgrind-Mailinglisten falsch berichtet hat. –

+2

+1 Wenn Sie eine schöne Benutzeroberfläche wünschen, die die Ergebnisse visualisiert, probieren Sie http://kde-apps.org/content/show.php?content=122409 –