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
Antwort Antwort
Shark99

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

AW: Speicherleaks finden mit FastMM4

  Alt 12. Jun 2020, 13:50
hier der Log mit TD32 Debuginfo:
Delphi-Quellcode:
--------------------------------2020/6/12 14:48:24--------------------------------
A memory block has been leaked. The size is: 12

This block was allocated by thread 0x5D2C, and the stack trace (return addresses) at the time was:
402D38 [System][@GetMem]
451AE4 [Unit1.pas][Unit1][TForm1.FormShow][30]
4496D3 [Forms][TCustomForm.DoShow]
44C6A6 [Forms][TCustomForm.CMShowingChanged]
432337 [Controls][TControl.WndProc]
77181031 [RtlCaptureStackBackTrace]
426C41 [MultiMon][InitAnApi]
73B99FCB [SE_GetProcAddressForCaller]
426C41 [MultiMon][InitAnApi]
73B99FE3 [SE_GetProcAddressForCaller]
73B9A00D [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 64 CE CE A6 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 . € d Î Î ¦ € € € € € € € . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

--------------------------------2020/6/12 14:48:24--------------------------------
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".
Der Stacktrace ist jetzt sehr hilfreich. Den Mem Dump verstehe ich aber immer noch nicht. Wie kommt er drauf die Adresse 7FE35550 für den Mem Dump anzuzeigen?
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#2

AW: Speicherleaks finden mit FastMM4

  Alt 12. Jun 2020, 15:45
Na, wenn das so einfach ist, werde ich das noch in meinen Pascal Editor einbauen.

Wenn ein Projekt geladen ist, nur rechts in dem Projektfenster auf das Memory-Symbol klicken. Wenn die EventLog-Datei im Standardverzeichnis liegt, wird sie automatisch geladen, wenn nicht, erhält man eine Aufforderung, den Pfad anzugeben.

Dann wird auf der linken Seite automatisch ein neuer Tab "Leaks" amgezeigt, wo nach Units unterteilt die entsprechenden Prozeduren und Zeilenangaben stehen. Per Doppelklick auf einen Eintrag wird die entsprechende Unit geöffnet (in der Vollversion - in der Testversion muss man es selber machen) und der Cursor in die entsprechende Zeile gestellt.

Siehe anliegenden Screenshot.

Ich wollte heute Abend sowieso eine aktualisierte Version hochladen (muss noch einen kleinen Bug entfernen, wie man sieht werden ein paar Einträge in der Liste noch doppelt angezeigt), da wird das dann auch drin sein. Das ist jetzt echt sehr komfortabel...
Angehängte Grafiken
Dateityp: jpg fastmm.jpg (176,2 KB, 29x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#3

AW: Speicherleaks finden mit FastMM4

  Alt 12. Jun 2020, 19:10
Ich habe das jetzt mal ein wenig lesbarer gestaltet, siehe anliegenden Screenshot im Vergleich zum vorherigen post.

Ferner habe ich in der Hilfe noch mal eine Beschreibung aufgenommen, wie man den fastMM4 in das Projekt integriert und was man sonst noch so einstellen muss.

In der Hilfe verweise ich zudem auf Bernds video (siehe oben) und auf den Source bei Github.

Die aktualisierte Version 3.37 vom Pascal Project Manager & Editor (die nun auch Delphi 10.4 unterstützt) habe ich gerade hochgeladen:

https://hastasoft.de/PPME.htm
Angehängte Grafiken
Dateityp: jpg fastmm2.jpg (170,6 KB, 26x aufgerufen)
  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 05:36 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