AGB  ·  Datenschutz  ·  Impressum  







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

FastMM Fehlermeldungen

Ein Thema von Alex_ITA01 · begonnen am 12. Jun 2012 · letzter Beitrag vom 14. Jun 2012
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

FastMM Fehlermeldungen

  Alt 12. Jun 2012, 13:03
Hallo zusammen,
habe mal FastMM4 in mein Programm eingebunden und bekomme beim Beenden der Anwendung folgende Fehlermeldung:

FastMM hat einen FreeMem Aufruf gefunden, nachdem FastMM deinstalliert wurde.

Was fange ich jetzt damit an? Ist das "schlimm"? Ich habe Version 4.99 ganz oben als erste Unit in meine DPR eingefügt.

Gruß
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#2

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 13:00
Hallo,
hat hierzu keiner eine Idee?
Ich bekomme die Fehlermeldung auch, wenn ich die Anwendung nicht aus der IDE starte...

Gruß
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#3

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 14:31
Das steht doch in der INC-Datei drin. FastMM wird beim Beenden irgendwann entladen. Nun ist danach noch jemand am Speicherverwalten und dann sagt FastMM, "Also prüfen kann ich nicht mehr, wer da rumfrickelt".

Prüfe mal, ob FastMM wirklich die erste Unit ist, die eingebunden wird.

Und wie? Steht alles bei FastMM.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 14:46
Zitat:
Prüfe mal, ob FastMM wirklich die erste Unit ist, die eingebunden wird.
Natürlich als Erstes in der DPR (noch vor fast allen PAS, abgesehn von System und SysInit)
[edit] er hat ja behauptet das sei schon so.

Nutzt du noch irgendwelche BPLs oder DLLs, welche ebenfalls auf diesen Shared-FastMM losgehn?

Es kann auch sein, daß noch irgendwo ein Thread schief läuft, welcher sich zu spät beendet, bzw. wo man vergessen hat ihn überhaupt zu beenden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Jun 2012 um 14:49 Uhr)
  Mit Zitat antworten Zitat
ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#5

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 14:58
Ich benutze auch 4.99, das Problem ist bei mir allerdings noch nie aufgetaucht.

Auf jedenfall lässt sich die Prüfung ausschalten: DetectMMOperationsAfterUninstall in der Datei FastMMOptions.inc einfach deaktivieren.
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#6

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 16:50
Es ist definitiv die erste Unit in der DPR Datei.
Du sagst, vielleicht wurde etwas vergessen freizugeben oder jemand reserviert noch Speicher. Dafür habe ich es ja eingebunden

Mehr Meldungen bekomme ich aber nicht außer diese Fehlermeldung.
Keine Lecks werden angezeigt oder ähnliches.

Ich nehme jetzt erstmal den Compilerschalter zum abschalten der Meldung.

Gruß
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 17:26
Keine Lecks werden angezeigt oder ähnliches.
Dann solltest du ein Leck provozieren damit du feststellen kannst ob in FastMM alles richtig eingestellt ist.

Schreib dazu einfach folgenden Code in deine Projektdatei vor dem Aufruf von Application.Run:
Delphi-Quellcode:
// mehrere Speicherlecks erzeugen
TForm1.Create(nil);
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: FastMM Fehlermeldungen

  Alt 14. Jun 2012, 22:46
Im FullDebugMode merkt sich FastMM sogar wer den Speicher reserviert, so daß man später z.B. genau weiß wo die Speicherlecks herkommen,
außerdem kontroliert es, daß Speicher nicht nach dessen Freigabe beschrieben wird und es prüft auf Bufferoverruns.


Wenn du immernoch auf der Suche nach dem Problem bist.
Füge mal diese Unit mal noch vor FastMM als aller erstes in die DPR ein.
Starte das Programm im Debugger.

Delphi hält dann automatisch in dieser Unit an und du kannst entweder im Stacktrace erkennen, wer da Schuld ist,
oder du gehst mit F7 so lange weiter, bis zu eine bekannte Stelle findest.

Solltest du in der CPU-Ansicht landen, wenn es anhält, dann steht in EAX die "ID" der Funktion und in EDX steht die Adresse (1), wo vermutlich der Aufruf her kam.

1) notfalls beim Kompilieren immer Stackframes erzeugen lassen
Angehängte Dateien
Dateityp: pas UnloadCheck.pas (1,1 KB, 8x aufgerufen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 17:36 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