AGB  ·  Datenschutz  ·  Impressum  







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

Fehler in Delphi-Memory-Manager?

Ein Thema von Motzi · begonnen am 29. Okt 2004 · letzter Beitrag vom 7. Nov 2004
 
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#1

Fehler in Delphi-Memory-Manager?

  Alt 29. Okt 2004, 12:26
Hallo,

ich hab ein Programm, das zur Laufzeit dynamisch Speicher per GetMemory reserviert. In diesen Speicher werden dann Daten aus einer Datei eingelesen, verarbeitet und der Speicher wird danach wieder korrekt per FreeMemory freigegeben.

Erste Tests funktionierten wunderbar, im Dauerbetrieb (das Prog ist eine Art Server der per FTP immer wieder Daten reinbekommt die es weiterverarbeiten muss) trat jedoch immer wieder (ohne erkennbares Muster) eine EAccessViolation auf. Das Prog schreibt alle möglichen Aktionen in ein Log-File mit und damit auch solche Exceptions mitgeloggt werden verwend ich madExcept. Ich hab mir nun die von madExcept erstellten Bug-Reports angeschaut und festgestellt, dass die EAccessViolations alle innerhalb des FreeMemory-Aufrufes auftreten und zwar meistens an Zeile 1089 in getmem.inc, aber in manchen Fällen auch an anderen Stellen (ebenfalls in getmem.inc). Ich habe nun mal testweise statt GetMemory/FreeMemory auf VirtualAlloc/VirtualFree umgestellt und jetzt funktioniert alles problemlos. Aber ich versteh nicht warum es mit GetMemory/FreeMemory nicht funktioniert hat...

Ich sollte vielleicht noch erwähnen, dass das Prog mit Threads arbeitet, dh. die Speicherreservierung, Datenverarbeitung und Freigabe erfolgt immer in einem eigenen Thread, allerdings wird der Speicher immer nur innerhalb eines Threads verwendet, ein Synchronisations-Problem (von meiner Seite her) kann es also auch nicht sein.

Hat jemand schonmal ähnliche Erfahrungen gemacht?

Gruß, Motzi
Manuel Pöter
  Mit Zitat antworten Zitat
 


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 13:06 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