AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unexpected Memory leak finden

Ein Thema von Bjoerk · begonnen am 25. Aug 2014 · letzter Beitrag vom 25. Aug 2014
Antwort Antwort
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 14:48
ich krieg die Meldung sogar so ??
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutDown := true; halt;
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 14:53
Ich würde das ReportMemoryLeaksOnShutDown := true in die DPR reinschreiben.
Dann öffne das Hauptformular und schließ es direkt wieder. Wenn der Fehler kommt dann kommentier mal solange Sachen aus dem constructor/FormCreate/FormShow/... aus bis das MemoryLeak weg ist.

Ggf mal ein Testprojekt machen falls du Fremdkomponenten benutzt und dort die Komponenten nacheinander durchprobieren. Vllt. liegt es ja gar nicht an deinem Code.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#3

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 14:59
Hat FastMM4 nicht viel detailliertere Möglichkeiten, Speicherlecks zu finden?
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 15:29
Hab ich gemacht. Same. Ich geh jetzt mal alle initialization finalization durch. Könnte aber auch sein daß zwei inherited Destroy irgendwo fehlen? Ich nehm jetzt erst mal die Fremdkomponenten raus. Oh mann ..
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#5

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 15:34
Es gibt auch Komponenten, welche "absichtlich" Speicherlecks zurücklassen.
Drum gibt es auch die RegisterMemoryLeak-Funktionen, um bekannte "Speicherlecks" von der Prüfung auszuschließen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 16:11
Die Indy-Komponenten z.B.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 16:32
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..
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#8

AW: unexpected Memory leak finden

  Alt 25. Aug 2014, 15:25
ich krieg die Meldung sogar so ??
Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutDown := true; halt;
Du schießt die Anwendung ab und wunderst dich über Speicherlecks?

Man kann sich vom FastMM den Inhalt der Speicherblöcke (zumindestens den Anfang) ausgeben lassen. Eventuell erkennt man da etwas

Und man kann sich vom FastMM auch ein detailiertes Log erstellen lassen (vorallem mit dem Richtigen und nicht der abgespeckten Variante im Delphi),
wo dann auch ein Stacktrace drin ist, von dem, welcher den Block beantrag hatte.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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