Memory Leaks finden
-
Hallo
Ich dachte ich packe dieses Thema mal in dieses Forum, weil es mir hier am Angebrachtesten vorkam. Also meine Frage bezieht sich auf das Memory Leak finding. Ich arbeite mit MSVS-C++ und würde miοch über kostenlose finder freuen. Kennt ihr da was?
Ich danke im Voraus!
-
http://msdn.microsoft.com/en-us/library/e5ewb1h3(VS.80).aspx
Beachte die Kommentare am Ende der Seite.
-
Mein kostenloser Leak-Finder:
http://blog.kalmbachnet.de/files/LeakFinder_RC9.zipMein etwas älterer Codeproject Artikel dazu:
http://www.codeproject.com/KB/applications/leakfinder.aspx
-
Danke erstmal. Anscheinend kann man die Leaks nur Programmintern erfassen. Gibt es da keine kleinen Tools die eben die Executable disassembelieren und mir offsets liefern oder soetwas in der Art?
-
valgrind macht das, aber ist nicht fuer Windows verfuegbar.
-
Es geht auch extern:
UMDH / DebugDiag
http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=4A2FBD0D-0635-440C-A08B-ED81BDBB5960&displaylang=en
-
Vielen Dank.
-
Hallo,
ich hab mir das DebugDiag-Tool mal runtergeladen, installiert und ausprobiert. Ich bekomme auch einen MemoryLeak-Analyse hin, habe aber folgendes Problem:
Die Ausgabe des Stacks ist in der folgenden Form:
DNCPCS+295840
sqlsrv32!GetMetadataQuery+3a08
ws2_32!WSARecv+77
sqlsrv32!CLEARTHREADID+37
DNCPCS+27982a
msvcrt!_output+956
...Wie bekomme ich denn raus, welche Stelle im Programm damit gemeint ist? (DNCPCS ist der EXE-Name)
Danke
Armin
-
Ich habs selber rausgefunden:
Prozess als Debug übersetzen, dann werden die Funktionen im Stack mit Namen angezeigt, mein Speicherleck hab ich auch schon gefunden
Prima