Memoryleaks finden unter Windows
-
Kennt einer ein gutes Tool zum finden von Memoryleaks in einem C++ Programm unter Windows? Das Tool muss mit mehreren GB Daten zurecht kommen und am besten wäre es, wenn es ohne Code modifikationen auskommt und das zu testende Programm nicht 10mal langsamer macht.
-
Verwendest du das Visual Studio? Das kann das schon eingebaut, s. z.B. detecting memory leaks in C++ / windows. Man muß dann nur noch
_CrtDumpMemoryLeaks();
am Ende der Main aufrufen.
Oder aber das dort verlinkte Visual Leak Detector for Visual C++ 2008/2010/2012/2013 (nur eine Header- und Lib-Datei zusätzlich einbinden - einzig am Ende des Programms dauert es eine ganze Weile, um die Leaks anzuzeigen).
Ein paar weitere gibt es unter Free Application to check Memory Leaks in Windows x64? (aber welchen Stand die haben, kann ich nicht sagen)
-
Die geben nur Leaks am Ende aus, oder? Ich wäre auch noch an etwas interessiert, dass mir Leaks zwischen zeit Zeitpunkten findet. Also man kann irgendwann Starten, dann etwas im Programm machen und schauen, was jetzt neu Speicher verbraucht.
-
Wie schon geschrieben, dann müßtest du
_CrtDumpMemoryLeaks();
eben an geeigneter Stelle aufrufen und dann im Debug-Output nachschauen.