![]() |
Zitat:
Delphi-Quellcode:
erhalte ich folgendes Ergebnis:
procedure TfrmHauptmenue.Button1Click(Sender: TObject);
var i : integer; begin i := 1; repeat i := i + 1; lblClick(Sender); // created frm if i mod 100 = 0 then memo1.Lines.Add (IntToStr (i)+' '+SysUtils.TimeToStr (time)); close; // frm.Free; until i = 0; end; so wie es hier steht, steigert sich die Zeit um 100 Forms zu erzeugen exponentiell. Die ersten hundert brauchen 4 sec. die nächsten 8, dann 16 usw. Ist das free nicht auskommentiert, so läuft es linear alle 4 sek. 100 forms. Irgendwo wird da also schon wahrscheinlich was verbrutzelt und ist wegen meines obligatorisch überdimensionierten Gates-Speicher nicht so einfach zu sehen. Weiter bin ich damit aber jetzt auch nicht. Interessant wäre es, den tatsächlich beanspruchten Speicher zu sehen. |
Zitat:
|
Re: Memory Leak/ was vergessen?
ist doch ziemlich klar, was ich da mache, oder ?
|
Re: Memory Leak/ was vergessen?
Ich finde nur die Anzahl der Formulare, die erzeugt werden, ein bisschen übertrieben (mal abgesehen davon, dass du ziemliche Probleme bekommen solltest, wenn der Integer mal 64 bit lang wird)...
Den Zusammenhang zwischen Profiling und Memory Leak Checking, den du aufzeigst, kann man sowieso nicht ausnutzen -- wer sagt, dass der immer besteht? Im Übrigen arbeiten diese beiden Programme auch komplett unterschiedlich. Ein Profiler hängt sich wie ein Debugger an den Prozess an und macht permanente Stack Traces, ein Memory Leak Checker funktioniert AFAIK über API-Hooking. |
Re: Memory Leak/ was vergessen?
Ich teste lieber selber etwas, bevor ich ein fertiges (oder unfertiges :?:) Programm benutze und nicht weiß, was das genau macht. Aber das gehört in die Kategorie: "Wer weiß, wo es eine Komponente gibt, die genau das macht, was ich mir ersparen will ?" 8) und nicht hier her.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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 by Thomas Breitkreuz