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.