2010-11-26 13 views
2

Ich unterstütze eine C/Cpp-Anwendung und löste einige Speicherverlustprobleme durch Erstellen von Objekten. Da es von der API der dritten Partei bereitgestellt wird, wird angegeben, dass die Objekte von der API selbst zerstört werden.Welcher C++ - Profiler wird verwendet?

Ich könnte es schaffen, das Problem zu beheben und meine Anwendung ohne irgendein Problem zu testen. Aber ich zweifle immer noch an meiner Lösung für Speicherverlust. Ich möchte Profiling durchführen und benötige ein Cpp-Tool, das mir sagen kann, ob es im Code, der eine CPP-Datei gibt, die Gefahr von Speicherlecks gibt.

Gibt es ein Tool dieser Art? Jede Hilfe wird sehr geschätzt.

Danke, ~ Jegan

+1

Sie suchen wahrscheinlich nach einem (statischen/dynamischen) Codeanalyse-Tool, nicht nach einem Profiler. –

+0

Warte, was versuchst du zu tun? Woher weißt du, dass es Speicherlecks gibt? Wenn die Third-Party-Bibliothek sagt, sie räumt ihre Objekte auf, sollten Sie nicht darauf vertrauen? Wenn nicht, warum benutzen Sie es? – Falmarri

+0

Dies zu lösen wäre ähnlich wie das Lösen des Halting-Problems. Wenn Sie RAII und Pointer Design gut nutzen, werden Sie nie Speicher verlieren. – Puppy

Antwort

6

Sie suchen wahrscheinlich für ein dynamisches Analyse-Tools, kein Profil. Für Linux gibt es valgrind. Für Windows sind einige gute kommerzielle Lösungen Purify und Insure++.

+2

Statische Analysatoren, z.B. Versorgen ++ kann solche Probleme auch finden. Und Sie könnten auch cppcheck erwähnen. –

+0

Valgrinds Massif-Tool ist sehr gut darin, Zuordnungen zu finden. – liori

1

Wir verwenden MemoryValidator von http://www.softwareverify.com/. Es bietet eine voll funktionsfähige 30-Tage-Testversion, so dass Sie es vor dem Kauf testen können. Einzellizenz von 179 $ (jeweils für 10 Lizenzen), bis zu 299 $ (1 Lizenz). Und es ist wirklich seinen Preis wert. Ermöglicht es Ihnen, die Ursache für Lecks innerhalb einer Minute zu finden.

Überprüfen Sie auch die anderen Tools, die sie bieten: Performance-Validator, Bug-Validator und so weiter.

Großes Werkzeug, wenn Sie wissen, wie es zu handhaben :-)

4

Gib valgrind einen Versuch, es ist bei weitem das beste Speicheranalysewerkzeug ich kenne. Es läuft nur auf * nix, aber Sie haben Ihre Plattform nicht angegeben.

Verwandte Themen