AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FreePascal Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

Ein Thema von Benedikt Magnus · begonnen am 29. Feb 2016 · letzter Beitrag vom 3. Mär 2016
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 29. Feb 2016, 18:21
Hallo,
sind das die einzigen Lecks?
Ist das FastMM4 oder was sonst?

Warum arbeitest du nicht einfach mit Objekten statt Records?
Den Pointer des Objektes kannst du auch in das Tag packen.

Was passiert beim Connect (Zugriff auf User-DB) noch?
Verschweigst du uns etwa Code ? :=)


Heiko
Heiko

Geändert von hoika (29. Feb 2016 um 18:33 Uhr)
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 29. Feb 2016, 18:46
Ja, das sind die einzigen Lecks.
Das ist Heaptrc-Unit von Lazarus.

Ich fand Records einfacher als Objekte. Solange ich keine Methoden benötige, verwende ich für gewöhnlich immer Records. Hier wäre ein Objekt vermutlich eleganter aufgrund der Initialisierung, aber ist halt Gewöhnungssache...
Das Problem hängt aber auch vermutlich nicht damit zusammen, da ohne Abrufen von Daten aus der Datenbank alles glatt läuft. Der Sicherheit halber werde ich gleich aber mal eine Klasse bauen (und wenn sie mir gefällt, behalte ich sie ).

Nein, nein, ich verschweige keinen Code.
Die entsprechende Stelle habe ich vollständig und ohne Änderung hier angegeben. Willst du denn noch einen anderen Teil sehen? Ich wüsste jetzt nicht, was noch relevant sein könnte...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 29. Feb 2016, 18:55
Hallo,
kannst auf nicht-SSL umstellen?
Wie sieht das dann auch?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 29. Feb 2016, 21:25
Bin aufgehalten worden, kam daher erst jetzt zum Ausprobieren.

Die Umstellung auf Objekt statt Record hat, wie zu erwarten war, nichts gebracht. Zur Sicherheit wollte ich es aber ja mal ausprobieren. Vielleicht behalte ich es, auch wenn ich das ^ vermissen werde. (Das ganze Herumcasten ist nicht ganz so schön...)

Zum Umstellen auf Nicht-SSL:
Auch hier hat sich leider rein gar nichts geändert...
Immer wieder kommen die gleichen Speicherlecks beim Senden der Query.


Hat jemand von euch noch eine Idee? Oder sonst jemand aus der DP? Das muss doch zu lösen sein!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 1. Mär 2016, 04:45
Hallo,
wie sieht es hiermit aus?

http://forum.lazarus.freepascal.org/...?topic=14556.0

Interessant ist, ob sich die Lecks mit der Anzahl der Queries erhöhen,
oder ob es immer 23 sind.

Heiko
Heiko
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 1. Mär 2016, 07:04
Das hatte ich bei meiner Recherche auch schon gefunden, konnte aber nur die (absichtlichen) Speicherlecks von Indy entfernen. An dem Queryleck änderte es nichts

Die Anzahl der Speicherlecks nimmt mit der Anzahl der Querys stetig zu. Sie müssen also dabei entstehen. Wenn es an der Komponente liegt, frage ich mich, warum der Speichermanager mir sagt, es die Lecks kämen von den Indys…

EDIT: Ich habe einmal testweise ein Programm ohne die Indys erstellt. Nur mein Container für die Komponenten (ohne IDContext). Dieser wurde erstellt, dieselbe Query ausgeführt (erfolgreich), das Containerobjekt zerstört und das Programm beendet: Die selben 23 Speicherlecks! Es muss also an SqlDB (oder meiner Query...) liegen!
Weiß da jemand Rat?
Oder kennt jemand eine Alternative? Ich hatte es zuerst mit Zeos versucht, da bekam ich aber die Querys irgendwie nicht hin...

EDIT: Anmerkung: Die in dem Testprogramm auftretenden Speicherlecks haben nun leider keine Zeilen- oder Unitangaben mehr.

Geändert von Benedikt Magnus ( 1. Mär 2016 um 07:40 Uhr)
  Mit Zitat antworten Zitat
Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 3. Mär 2016, 08:06
Hat niemand mehr eine Idee?
  Mit Zitat antworten Zitat
sahimba

Registriert seit: 14. Nov 2011
Ort: Berlin, Hauptstadt der DDR
137 Beiträge
 
Delphi 10 Seattle Professional
 
#8

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage

  Alt 3. Mär 2016, 08:40
Die selben 23 Speicherlecks! [...] Weiß da jemand Rat?
Offensichtlicher geht es doch gar nicht mehr.
  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:00 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