![]() |
FastMM4 for Dummies
Hallo,
ich habe ein Programm mit einer aufwendigen Funktion, bei der sehr viel Speicher verbraucht wird. Da dieses Programm mit unterschiedlichsten Speicheradressen regelmäßig abstürzt, wollte ich den oft genannten FastMM4 verwenden, in der Hoffnung, dass er mir hilft, den Fehler zu finden. Ich habe aber so etwas noch nie verwendet und kriege das Ding einfach nicht dazu, dass er mir etwas ausspuckt. Ich habe ihn als erstes in meiner Projektdatei eingebunden. Aber wie bekomme ich ihn jetzt zum Arbeiten, bzw. ein Ergebis? Vielen Dank Ykcim |
Re: FastMM4 for Dummies
Zitat:
ReportMemoryLeaksOnShutdown := True; Näheres siehe FastMM4.pas :) FastMM4 nützt aber wahrscheinlich nichts wenn das Programm abstürzt, die Speicherlecks werden nur bei einem normalen Beenden angezeigt. Für die Untersuchung der Absturzursache ist madExcept empfehlenswert, da es einen Stacktrace zum Zeitpunkt der AccessViolation erstellt. Viele Grüße, |
Re: FastMM4 for Dummies
Hallo Mjustin,
Danke für die schnelle Antwort. Leider komme ich damit aber noch nicht viel weiter. Zitat:
Wie bekomme ich den Report? Wird eine Datei angelegt oder ist das ein POPUP Fenster? Zitat:
Wie Du siehst, bin ich kein geübter Programmierer. Vielen Dank für Deine Hilfe Ykcim |
Re: FastMM4 for Dummies
In der Projektdatei fügst Du als Erstes FastMM4 zur uses-Klausel hinzu und schreibst dann die genannte Zeile als erste hinter das begin.
|
Re: FastMM4 for Dummies
Das ist erledigt!
Aber wo finde ich den Report? |
Re: FastMM4 for Dummies
Erstmal: Welche Delphiversion nutzt du?
Ein neueren Versionen ist eine spezielle Version von FastMM schon enthalten und in älteren muß man FastMM erstmal installieren [add] ReportMemoryLeaksOnShutdown sorgt dafür, daß bei Programmende eine Messagebox eingeblendet wird, wenn etwas nicht stimmt. (ist alles OK, dann wird nix angezeigt) |
Re: FastMM4 for Dummies
Hallo,
danke für die Info Zitat:
Ich habe mein Programm gestartet und dann wieder beendet. Ich habe keine Info erhalten. Heißt das dann, dass ich kein Speicherleck habe? Danke für Eure Hilfe Ykcim |
Re: FastMM4 for Dummies
Probier es einfach aus und erstell dir ein Speicherleck.
z.B.:
Delphi-Quellcode:
oder
TStringList.Create;
Delphi-Quellcode:
Und diesesmal absichtlich vergessen es freizugeben. :zwinker:
GetMem(100);
[edit] @DeddyH :tongue: |
Re: FastMM4 for Dummies
Vermutlich heißt es das ;) Du kannst aber zum Vergleich absichtlich ein Speicherleck erzeugen und dann schauen, ob FastMM dies auch meldet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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