Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: FastMM und block modified after being freed

  Alt 27. Apr 2010, 10:57
Das bedeutet, (a) daß du die Fehlerprüfung von FastMM aktiviert hast
und (b) daß irgendwo ein Speicherbereich verändert wurde, nach dem der entsprechende Speicherblock (welcher an dieser Stelle lag) schon freigegeben wurde.

Quasi sowas in der Art:
Delphi-Quellcode:
var P: PInteger;

P := GetMem(10);
FreeMem(P);
P^ := 100;
FastMM gibt ja speicher nicht sofort an Windows zurück, weswegen es bei einem späteren Zugriff nicht zu einer Zugriffsverletzung kommt.

Uhrsache könnte auch ein Bufferoverrun sein
oder ein "fehlerhafter" Pointer, welcher "irgendwo" hinzeigt.

In deinem Fall könnte es auch sein, daß auf ein Objekt zugegriffen wird, welches schon freigegeben wurde. (der Speicherbereich des Objektes könnte ja dennoch existieren)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat