Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Was mache ich mit der MemoryLeak Ausgabe? (https://www.delphipraxis.net/190823-mache-ich-mit-der-memoryleak-ausgabe.html)

Der schöne Günther 14. Nov 2016 15:20

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Ja, ich sehe es grade. 10.1 Berlin mit Update 1 und einfach mal eine FMX-Combobox aufs Formular gepackt. Dann habe ich auch 240 Leaks. :shock:

PS: Das hat aber nichts wirklich mit FMX direkt zu tun. Bei meinem Test fängt FastMM schon an Leaks zu "finden" bevor der finalization-Block von System.pas läuft - Das ist natürlich unfair und nicht wahr. Wie bekommt man FastMM nochmal dazu das nicht zu tun? Ist das die Option "Never uninstall"?

Sherlock 14. Nov 2016 15:37

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Keine Ahnung, was mich aber am meisten nervt ist, mit FastMM4 bekomme ich IMMER eine Schutzverletzung am Programmende, ohne kommt nix. :(

Sherlock

Der schöne Günther 14. Nov 2016 15:43

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Du kannst in FastMM einstellen dass er eine AV werfen soll wenn auf eine bereits freigegebene Instanz zugegriffen wird. Das ist es nicht?

PS: Einstellen der FastMM-Parameter macht mit diesem Tool hier gleich viel mehr Spaß:
http://jedqc.blogspot.de/2007/07/new...interface.html

Bambini 14. Nov 2016 15:46

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1353605)
Ja, ich sehe es grade. 10.1 Berlin mit Update 1 und einfach mal eine FMX-Combobox aufs Formular gepackt. Dann habe ich auch 240 Leaks. :shock:

Bei XE8 unter Mac OS waren es tausende für eine nackte TForm. Das FastMM4 Reportfile ist da schlappe 16MB groß.
Der QC Eintrag ist immer noch offen, aber ich glaube das ist mit Berlin schon besser geworden.
https://quality.embarcadero.com/browse/RSP-10397

Der schöne Günther 14. Nov 2016 15:50

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Aah, hier ist was ich meinte bzgl. der schwachen Referenzen, System.pas, all das:

http://www.delphipraxis.net/189654-f...es-delphi.html

TiGü 14. Nov 2016 15:52

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1353622)
Aah, hier ist was ich meinte bzgl. der schwachen Referenzen, System.pas, all das:

http://www.delphipraxis.net/189654-f...es-delphi.html

Und, haste mit NeverUninstall immer noch die vielen Leaks?

Der schöne Günther 14. Nov 2016 16:03

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Um ehrlich zu sein schon :?

Stevie 14. Nov 2016 17:48

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Das hatten wir doch neulich erst.

https://github.com/pleriche/FastMM4/issues/18

Edit: nvm, das war ja schon verlinkt

Der schöne Günther 14. Nov 2016 17:53

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Das behebt nur die AV am Schluss. Die False Positives bei den Leaks nicht.

Stevie 14. Nov 2016 18:06

AW: Was mache ich mit der MemoryLeak Ausgabe?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1353650)
Das behebt nur die AV am Schluss. Die False Positives bei den Leaks nicht.

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,
Delphi-Quellcode:
TLeakCheck.IgnoredLeakTypes := [tkUnknown];
noch gesetzt und ab gehts.
Klar, damit werden alle leaks vom Typ unknown ausgefiltert, das ist meist jeglicher Speicher, der direkt mit GetMem angefordert wurde und dann weiter verarbeitet wird.
Das ist aber meist in einer UI Anwendung nicht der Speicher, den man selbst leakt.

In der blanken FMX Anwendung, mit TComboBox drauf, die normalerweise 200 und nen paar unknown leaks gibt, ist dann Ruhe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz