Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   unexpected Memory leak finden (https://www.delphipraxis.net/181559-unexpected-memory-leak-finden.html)

Sir Rufo 25. Aug 2014 16:57

AW: unexpected Memory leak finden
 
Zitat:

Zitat von Bjoerk (Beitrag 1269807)
Zwei Produktlisten die wie vermutet in initialization / finalization erzeugt / freigeben werden. Von TList abgeleitet, Clear überschrieben und inherited Clear vergessen. Meine Recordlisten bringen mich noch um den Verstand. Manchmal macht‘s echt keinen Spaß mehr..:wall:

Versuch es doch mal mit Unittests ;)

Bjoerk 25. Aug 2014 17:23

AW: unexpected Memory leak finden
 
Ja. Hat mir vor Jahren schon ein gewisser Christian Rehn empfohlen. Kenn ich mich aber immer noch nicht mit aus. Ich hab ja vor ein paar Jahren meine Software (ca 250.000 Zeilen) komplett überarbeitet. Bin froh daß ich den Katastrophencodefaktor von 10 bis schätze mal so 3 runter geschraubt hab. Die Tipps von einem gewissen Detlef Heibing hab ich (Gott sei Dank) damals größtenteils umgesetzt. Das neue CAD Zeugs ist eigentlich soweit ganz in Ordnung (auch Dank deiner Unterstützung), benutzt aber teilweise auch den alten Kram. Man kann halt nicht immer alles neu machen. Den Hinweis von Michal das ReportMemoryLeaksOnShutDown schon in der Entwicklungsphase zu setzen nehm ich mit. Thanx an Alle. :thumb:

Ralf Kaiser 25. Aug 2014 19:37

AW: unexpected Memory leak finden
 
Noch einen anderen Tipp:

Betreibe FastMM im "Full Debug Mode". Dann erhälst du für Speicherreservierungen die nicht wieder freigegeben wurden jeweils eine Stacktrace für die Reservierung.

Es wird also dann nicht nur angegeben, dass ein Leak vorhanden ist sondern auch wo der Speciher reserviert wurde.

Neutral General 25. Aug 2014 19:40

AW: unexpected Memory leak finden
 
Aus Erfahrung kann ich nur sagen: Für alles was über "fast nichts" hinausgeht sollte man besser Klassen als Records benutzen. Hab das auch schmerzlich lernen müssen. Hatte bei einem Programm so oft irgendwelche Memoryleak Probleme oder nicht-initialisierte Daten die mir Probleme gemacht haben weil ich mal nen Moment nicht aufgepasst habe bei meinem Record-Kram :/


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr.
Seite 2 von 2     12   

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