Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 2010 - MemoryLeaks finden (https://www.delphipraxis.net/143740-delphi-2010-memoryleaks-finden.html)

taaktaak 22. Nov 2009 11:05


Delphi 2010 - MemoryLeaks finden
 
Moin, Moin.
Angeregt durch die heutigen FastINI-Beiträge habe ich mal mein neues D2010 gestartet und bewusst eine "Speicherleiche" produziert. Unter D7 verwende ich immer noch das gute alte "MemCheck", das funktioniert unter D2010 aber offenbar nicht mehr. Wie kann ich denn nun unter D2010 solche Speicherleichen finden? Ist nicht bei den aktuellen Delphi-Versionen schon FastMM dabei? Habe aber in der IDE keinen Schalter gefunden, der zu aktivieren war, damit solche Meldungen kommen...

Uwe Raabe 22. Nov 2009 11:08

Re: Delphi 2010 - MemoryLeaks finden
 
Folgende Zeile in die DPR einfügen

Delphi-Quellcode:
ReportMemoryLeaksOnShutdown := true;

taaktaak 22. Nov 2009 11:12

Re: Delphi 2010 - MemoryLeaks finden
 
Prima, danke!

himitsu 22. Nov 2009 11:51

Re: Delphi 2010 - MemoryLeaks finden
 
Dieses zeigt aber nur Lecks im Delphi-MM an.
(Lecks in anderen Speichermanagern werden da nicht gefunden > Windows (VirtualAlloc), OLE32 hat auch noch 'nen MM usw.)

taaktaak 22. Nov 2009 12:18

Re: Delphi 2010 - MemoryLeaks finden
 
Zitat:

zeigt aber nur Lecks im Delphi-MM an
Hmm, ist das nicht ausreichend? Kann mein schlechter DelphiCode denn Einfluss auf andere Speichermanager nehmen? Ist es nicht so, dass - wenn ausserhalb Speicherlecks auftreten - der Fehler und auch eine ggf. notwendige Fehlerbehebung ausserhalb meines Einflusses liegen?

Tscha, nun bin ich doch etwas verwirrt...
:roteyes:

himitsu 22. Nov 2009 12:25

Re: Delphi 2010 - MemoryLeaks finden
 
Es kommt drauf an, was du in deinem "schlechten" Code alles machst.

GDI-Handle, File-Handle, Fenster/Komponenten (via WinAPI), der WideString (läuft über OLE32, aber dafür muß man schon die CompilerMagic überlisten), VirtualAlloc, GlobalAlloc und mehr findet man alle nicht im DelphiMM, also er kann ja nur melden, was bei ihm reserviert wurde.

divBy0 22. Nov 2009 12:47

Re: Delphi 2010 - MemoryLeaks finden
 
Welche Lecks bekomme ich denn angezeigt, wenn ich FastMM4 einbinde?

taaktaak 22. Nov 2009 13:16

Re: Delphi 2010 - MemoryLeaks finden
 
@himitsu:
Wenn ich richtig verstanden habe, wird nach einem assignfile() für ein fehlendes closefile() keine Meldung durch FastMM erfolgen. Ok, was dazugelernt - danke!

@divBy0:
Na, z.B. wenn du eine Stringliste mit MyList:=TStringlist.Create erzeugst, aber an keiner Stelle wieder freigibst.

RWarnecke 22. Nov 2009 13:45

Re: Delphi 2010 - MemoryLeaks finden
 
Eurekalog wäre auch noch einExperte für die Delphi IDE, welcher Dir anzeigt, wo das MemoryLeak auftritt. Kostet allerdings ein wenig. Ich arbeite nur noch damit und habe bis jetzt alle MemoryLeaks gefunden. Ein weitere Feature ist auch noch, dass es Dir einen Report erzeugen kann, mit Zeilennummer und Unit-Dateiname, wo der Fehler oder der MemoryLeak auftaucht, mit dem Weg, den der Sourcecode gegangen ist.

taaktaak 22. Nov 2009 14:07

Re: Delphi 2010 - MemoryLeaks finden
 
Hallo Rolf,
schaut interessant aus, für mich als Hobby-Tipper aber vielleicht doch etwas "overdressed"
(da würde mich die Geldausgabe für TRichView eher reizen).

Aber nun doch noch eine weitergehende Frage zu FastMM:

Die Antwort von Uwe Raabe hilft in meiner speziellen Fragestellung. Aber FastMM kann/kennt sicherlich mehr als diese eine Option. Bei Fragen soll ja oft die HILFE weiterhelfen! Gebe ich nun aber in Delphi 2010 unter Hilfe/Suchen mein "FastMM" ein, werden 0 Ergebnisse gefunden. Mit "MemoryLeak" werden 16 InternetAdressen gefunden, die aber nicht speziell auf die Bedienung von FastMM eingehen.

Wenn ich mich nun über die Möglichkeiten des mitgelieferten/integrierten FastMM informieren möchte
- wo finde ich diese Informationen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 Uhr.
Seite 1 von 2  1 2      

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