AGB  ·  Datenschutz  ·  Impressum  







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

Delphi 2010 - MemoryLeaks finden

Ein Thema von taaktaak · begonnen am 22. Nov 2009 · letzter Beitrag vom 22. Nov 2009
Antwort Antwort
Seite 1 von 2  1 2      
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#1

Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 12:05
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...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 12:08
Folgende Zeile in die DPR einfügen

ReportMemoryLeaksOnShutdown := true;
Uwe Raabe
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#3

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 12:12
Prima, danke!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 12:51
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.)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#5

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 13:18
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...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 13:25
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 13:47
Welche Lecks bekomme ich denn angezeigt, wenn ich FastMM4 einbinde?
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#8

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 14:16
@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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 14:45
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.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#10

Re: Delphi 2010 - MemoryLeaks finden

  Alt 22. Nov 2009, 15:07
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?
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:24 Uhr.
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