AGB  ·  Datenschutz  ·  Impressum  







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

Speicherleaks finden mit FastMM4

Ein Thema von Shark99 · begonnen am 11. Jun 2020 · letzter Beitrag vom 17. Jun 2020
 
Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#1

Speicherleaks finden mit FastMM4

  Alt 11. Jun 2020, 01:43
Delphi-Version: 7
Kann mir bitte jemand erklären wie genau die Speicherlecksuche mit FastMM4 funktioniert?

Ich habe in FastMM4Options.inc die Optionen EnableMemoryLeakReporting und FullDebugMode aktiviert.

Beispielcoder erzeugt der paar Bytes Speicher leaked. Am Ende der Ausführung bekomme ich die Meldung, dass Speicher geleakt wurde.
Details dazu stehen in der LogDatei.

Wenn ich jedoch die LogDatei anschaue finde ich (für mich persönlich) keinerlei nützliche Info die mir helfen würde den Ort des Speicherlecks zu finden.
Das Testprogramm zeigt die (zufällige) Adresse des Pointers der nicht freigegeben wird als $19FB70. In der LogDatei bekomme einen Stack Trace der mich gar nicht weiter bringt, und einen Speicherauszug von Adresse $7FE35550, die auf dem ersten Blick auch nichts mit dem Leck zu tun hat.

Hat jemand von euch vielleicht Tips um die Codezeile mit dem Leak zu finden?

Beispielcode inkl FastMM4 mit kompilierter Exe ist angehängt.
Delphi-Quellcode:
var
  Form1: TForm1;

const data = #255#255#255#255#255#255#255#255#255;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
var p: PChar;
begin
  GetMem(p, SizeOf(Data)+1);
  p := data;
  Caption := '$'+IntToHex(Integer(Addr(p)), 1)+':'+p;
end;
Delphi-Quellcode:
--------------------------------2020/6/11 2:38:16--------------------------------
A memory block has been leaked. The size is: 12

This block was allocated by thread 0x76F0, and the stack trace (return addresses) at the time was:
402D38
451AE4
4496D3
44C6A6
432337
77551031 [RtlCaptureStackBackTrace]
426C41
742C9FCB [SE_GetProcAddressForCaller]
426C41
742C9FE3 [SE_GetProcAddressForCaller]
742CA00D [SE_GetProcAddressForCaller]

The block is currently used for an object of class: Unknown

The allocation number is: 355

Current memory dump of 256 bytes starting at pointer address 7FE35550:
8C 7C 45 00 80 DC 9A 65 A5 80 80 80 80 80 80 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Œ | E . € Ü š e ¥ € € € € € € € . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

--------------------------------2020/6/11 2:38:16--------------------------------
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

5 - 12 bytes: Unknown x 1

Note: Memory leak detail is logged to a text file in the same folder as this application. To disable this memory leak check, undefine "EnableMemoryLeakReporting".
Angehängte Dateien
Dateityp: rar MemLeakTest.rar (293,6 KB, 2x aufgerufen)
  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 01:37 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