Forum: Sonstige Fragen zu Delphi
Delphi
by Stevie,
15. Nov 2016
Generell ist alles über GetMem, AllocMem oder ReallocMem allokiert (siehe z.B. TObject.NewInstance), der Memory Manager kennt nix anderes (siehe System.TMemoryManagerEx).
Allerdings werden einige durchaus aufwändige Analysen des Speicherblocks durchgeführt, um recht zuverlässig festzustellen, obs ein Objekt oder string ist, alles andere is unknown.
Solcher Speicher hat nämlich ein gewisses...
Forum: Sonstige Fragen zu Delphi
Delphi
by Stevie,
14. Nov 2016
Das sind keine false positives, sondern Leaks die größtenteils statisch sind, aber nicht explicit freigeräumt werden.
Wenn die Anwendung endet, geht der Speicher zurück an Windows.
Leider sehr unsauberer Stil, der in der letzten halben Dekade gerade im FMX Bereich weit verbreitet praktiziert wurde. :(
LeakCheck.pas rein, TLeakCheck.IgnoredLeakTypes := ; noch gesetzt und ab gehts.
Klar,...
Forum: Sonstige Fragen zu Delphi
Delphi
by Stevie,
14. Nov 2016
Das hatten wir doch neulich erst.
https://github.com/pleriche/FastMM4/issues/18
Edit: nvm, das war ja schon verlinkt
Forum: Sonstige Fragen zu Delphi
Delphi
by Stevie,
11. Nov 2016
Nein, LeakCheck ist einzig fürs MemoryLeak finden geschrieben und keinesfalls als sonstiger Ersatz für FastMM.
Forum: Sonstige Fragen zu Delphi
Delphi
by Stevie,
11. Nov 2016
Zur genaueren Analyse von Memoryleaks empfehle ich LeakCheck. Mit dem usage Graph kann man dann bei einem umfangreicheren Leak leichter das Rootobjekt identifizieren.
Linking->Debug information auf True setzen