AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy 9 Speicherleck oder falsches Handling?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy 9 Speicherleck oder falsches Handling?

Offene Frage von "wisher"
Ein Thema von wisher · begonnen am 3. Jan 2009 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#1

Indy 9 Speicherleck oder falsches Handling?

  Alt 3. Jan 2009, 15:36
Hallo,

wie im Titel schon erwähnt, habe ich ein Memory-Leak Problem in einer Anwendung
und ich bin mir nicht sicher, ob es and den Indy's oder an mir liegt.

Folgendes tue ich in meiner Anwendung:

Mich mit einem Host connecten...
Delphi-Quellcode:
  
         TCPClient.Host := MeinHost;
         TCPClient.Port := MeinPort;
         TCPClient.Connect(10);
...dieser Schickt dann auf den Port beliebig lange XML Strings
und ich lese diesen String mit CurrentReadBuffer aus
        XMLStr := TCPClient.CurrentReadBuffer; Im Taskmanager ist ganz klar zu sehen, dass der Speicher der Anwendung stetig anwächst.
Ich habe bislang zwar noch kein Profiler-Tool eingesetzt, bin mir aber sehr sicher, dass
das Problem im TCPClient zu suchen ist, bzw. im Umgang damit.

Wie ist das mit dem Indy-Buffer? Ich hätte gedacht, der wird ständig "neu" und nicht einfach "weiter"
beschrieben.

Kennt sich Jemand aus? Für Hilfe wäre ich sehr dankbar.


Grüße
Sascha
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Indy 9 Speicherleck oder falsches Handling?

  Alt 3. Jan 2009, 15:43
Verwende doch mal FastMM, dann kannst du auch aussagekräftigere Hinweise liefern.
  Mit Zitat antworten Zitat
wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#3

Re: Indy 9 Speicherleck oder falsches Handling?

  Alt 3. Jan 2009, 15:49
Ich habe befürchtet, dass diese Antwort kommt. ^^
Werde ich tun, aber ich bin mir sicher, dass es an der IdTCPClient-Buffer-Verabeitung liegt.
Ich weiß eben nicht, ob ich's so richtig mache.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Indy 9 Speicherleck oder falsches Handling?

  Alt 3. Jan 2009, 15:54
FastMM herunterladen und das FastMM-Archiv entpacken (in einen Ordner),
diesen dann in das Programmverzeichnis kopieren und die enthaltenen Pas-Dateien deinem Projekt hinzufügen. Danach must du noch die Reihenfolge der Units in der Uses-Klausel in der Projektdatei ändern (Die beiden FastMM-Dateien müssen als erstes aufgeführt werden).

Was ist da jetzt so schlimm dran?
  Mit Zitat antworten Zitat
wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#5

Re: Indy 9 Speicherleck oder falsches Handling?

  Alt 4. Jan 2009, 02:40
Hi,

wie vermutet, FastMM findet quasi nichts. Das heißt, vier Memleaks sind schon vorhanden,
aber das ist nicht das Problem. Hier gibt es ein paar Objekte die nicht mehr freigegeben
werden, aber das ist im Byte -Bereich. Beim eigentlichen Problem geht um einige MB's.

Ich tippe dann mal auf das Handling mit der IdTCPClient -Komponente. Irgendwas mache ich
noch nicht richtig.

Gruß
Sascha
  Mit Zitat antworten Zitat
wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#6

Re: Indy 9 Speicherleck oder falsches Handling?

  Alt 4. Jan 2009, 02:42
Ps.: Was soll eigentlich im FullDebugMode bei FastMM passieren?
Ich habe das aktiviert, DLL ist auch da, mein Programm startet auch, aber nach Beenden hängt's.
  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 02:42 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