Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: Memoryleak woher?

  Alt 11. Jul 2017, 11:41
Hilfe zur Selbsthilfe:

- FastMM4 herunterladen (die mit Delphi ausgelieferte ist etwas abgespeckt, was das genaue Lokalisieren des Leaks angeht):
- FastMM als erste unit in der Projekt dpr Einbinden
- irgendwo ReportMemoryLeaksOnShutDown := True rein schreiben
- FullDebugMode den Defines hinzufügen (Projektoptions -> Delphi Compiler -> Conditional defines) - hierbei auf die richtige Config oben in der Combobox achten.
- sicherstellen, dass in der entsprechenden Config Debug Informationen generiert und in der binary vorhanden sind (unter Linking entweder der Haken bei Debug Information) oder eine map Datei erzeugt wird - beides sollte in der standard Debug Config der Fall sein
- die FastMM_FullDebugMode.dll aus dem FastMM4 Repository unter "FullDebugMode DLL/Precompiled" in das Ausgabeverzeichnis deines Projekts (also neben die exe) kopieren (alternativ, irgendwo, wo Windows sie per PATH findet)
- Programm aus der IDE heraus mit Debugging(!) starten

Nach dem Beenden und Bestätigen des Dialogs mit dem Leak, sollte neben deiner exe eine txt Datei liegen, wo jeder Leak inklusive des Callstacks, der dazu führte aufgelistet ist.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (11. Jul 2017 um 11:44 Uhr)
  Mit Zitat antworten Zitat