[Win7, 64 Bit, VC++ 2010] Memory Leaks finden

Onkel Schuppig

Erfahrenes Mitglied
Hallo zusammen,
beim Debuggen meldet mir Visual Studio Memory Leaks.
Wie kann ich diese denn im Programm-Code lokalisieren?
Habe den Eindruck, dass unten hinter "Data:" etwas stehen müsste (Klassenname oder so).
Was kann ich tun?

Hier die Ausgabe von Visula Studio:

Detected memory leaks!
Dumping objects ->
{1945} normal block at 0x0000000001DC7550, 60 bytes long.
Data: < > 01 00 00 00 CD CD CD CD 1D 00 00 00 00 00 00 00
 

Cromon

Erfahrenes Mitglied
Hi

Noch kurz als Erweiterung zu dem was deepthroat gesagt hat:
Nach Data zwischen < und > steht die ASCII-Darstellung des Speichers danach oder eben nichts, wenn es sich nicht um ein darstellbares Zeichen handelt an dem Byte.

Grüsse
Cromon
 

Onkel Schuppig

Erfahrenes Mitglied
Habe die defines und includes eingebracht, es ändert sich leider nichts.
Vielleicht liegt es daran, dass ich wxWidgets verwende. Ich schaue dort mal ins Forum.

Zur Vervollständigung der Sache sei noch gesagt:
Damit Memory Leaks im Debug-Window ausgegeben werden, ist neben den o.g. Dingen am Anfang des Programms
Code:
 _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
aufzurufen.
 

Onkel Schuppig

Erfahrenes Mitglied
Ja, ich bin heute total artig drauf und habe das befolgt. :)
Habe mit _CrtSetBreakAlloc(1945); eine Unterbrechung nach Aufruf einer Library-Funktion bekommen, aber keine weitere Info als vorher.
Produziere ich selbst ein memory leak mit z.B.
Code:
const char* leak_test = new char[100];
so erhalte ich die gewünschte Dateiangabe inklusive Zeile.
Ist mir nun sogar verständlich: zur Library gibt's keine Quellcode-Infos!

Danke für die Tipps!
 

Neue Beiträge