![]() |
Angebliche Speicherlecks bei Lazy Initialization
Viele Testframeworks, wie DUnit, bringen Suche nach Speicherlecks mit: Ist der Speicherverbrauch nach
Delphi-Quellcode:
größer als vor
TearDown()
Delphi-Quellcode:
? Dann ist da wohl ein Leck.
SetUp()
Es gibt hierbei ein riesiges Problem: Lazy-Initialisierung von Klassenvariablen. Folgendes Beispiel:
Ich drehe und wende mich, mir fällt keine Lösung ein. Was kann man hier tun? Alle Tests immer zwei mal ausführen? :stupid: PS:
Delphi-Quellcode:
ist ein Beispiel. Eins von sehr, sehr vielen. Sowohl im Borland RTL-Code, als auch in Libraries wie Spring4D und auch meinem ganz eigenen Quelltext. Also sagt mir nicht, das sei schlechter Stil ;-)
TEncoding
|
AW: Angebliche Speicherlecks bei Lazy Initialization
![]() |
AW: Angebliche Speicherlecks bei Lazy Initialization
Für den Einzelfall TEncoding muß man
Delphi-Quellcode:
aufrufen. Der Klassendestruktor wird ja erst nach der finalization ausgeführt, der Klassenkonstruktor vor der initialization. OT: Welchen Musikstil machen denn die Singletones ;)
TEncoding.FreeEncodings
|
AW: Angebliche Speicherlecks bei Lazy Initialization
Zufall, dass das gerade heute hier auftaucht?
Wenn ja, dann schau mal ![]() Zitat:
|
AW: Angebliche Speicherlecks bei Lazy Initialization
Zitat:
Sollte es überhaupt eine Mehrzahl von Singleton geben :mrgreen: |
AW: Angebliche Speicherlecks bei Lazy Initialization
Zitat:
Zitat:
Ich habe zwar noch keine Ahnung was TestInsight ist, was "Delphi LeakCheck" genau macht, ob es mir was bringen würde von DUnit auf DUnitX zu wechseln-- Aber das Wochenende hat ja noch nicht einmal angefangen 8-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz