Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.093 Beiträge
 
Delphi 5 Professional
 
#7

AW: Speicherlecks in fremdem Code/Programm finden

  Alt 31. Dez 2016, 18:28
Bei neueren VS Versionen könnte evtl. das hier helfen:
https://msdn.microsoft.com/en-us/lib...v=vs.140).aspx
Funktioniert zwar auch in VS 2008 Express, gibt aber weniger und deutlich kryptischere Ausgaben, mit denen ich noch weniger anfangen kann als mit dem Leak Report vom VLD.

Zitat:
Generell ist es in C++ eigentlich sehr schwierig Speicher zu leaken.
Schwieriger als in Delphi? Kann ich mir kaum vorstellen. Bei beiden kann man Objekte erzeugen und vergessen, sie wieder wegzuräumen. Wenn das in Intervallen und/oder Schleifen passiert, vervielfacht sich das kleine Leck - und genau in die Richtung geht meine Vermutung.

Zitat:
Ausschau halten solltest du nach allen Stellen, die entweder Objekte mit new auf dem Heap erstellen oder manuellen malloc , VirtualAlloc , etc. Aufrufen.
Ja, das habe ich bereits getan. VirtualAlloc findet sich im Code überhaupt nicht. malloc und new sind ein paar Mal enthalten, aber ich bin mir unsicher, ob es zu jedem einen entsprechenden Aufräumaufruf (free und delete) gibt, weil die teilweise an völlig unterschiedlichen Stellen zu finden sind. Die (Un)art, Code auch im Header zu haben, macht es nicht einfacher.

---

Der gesamte Report von VLD ist übrigens noch deutlich länger (über 100 KB) und enthält am Ende diese Zeilen:
Code:
Visual Leak Detector detected 43 memory leaks (9432 bytes).
Largest number used: 11008 bytes.
Total allocations: 46696 bytes.
Visual Leak Detector is now exiting.
Ich kann den bei Interesse gern zur Verfügung stellen.

Grüße
Dalai

Geändert von Dalai (31. Dez 2016 um 18:31 Uhr)
  Mit Zitat antworten Zitat