![]() |
Speicherlecks finden
Hi
gibt es ein Tool mit dem ich meine anwendungen auf Speicherlecks prüfen kann? möglichst freeware und mit link ;) |
Re: Speicherlecks finden
Was genau meinst du mit Tool?
![]() |
Re: Speicherlecks finden
hmm, sieht ja gar net schlecht aus...
wie muss ich die genau benutzen? (Ich versuch grad das tutorial zu vereinfachen) also einfach in die dpr MemChk; und fertig? |
Re: Speicherlecks finden
Oder du verwendest einen der netten SpeicherManager ... FastMem hat ja auch 'nen eingebauten MemoryCheck (dieser muß nur aktiviert werden)
Mein eigener MemoryManager (FastXMem) hat auch einen (dieser wird immer beim Programmende durchgeführt) und man kann sich auch die betrefenden SpeicherBlöcke abspeichern lassen (zum reingucken). (ich weiß aber im moment nicht, ob der MemoryCheck auch schon die der aktuell Hochgeladenen Version schon drin ist) |
Re: Speicherlecks finden
wär mir glaub ich lieber....diese unit ist mir etwas suspekt...
wenn ich einfach am anfang die unit einbinde und MemChk aufrufe hagelt es Exceptions. wenn ich mir dann diese Textdatei angucke sehe ich folgendes:
Code:
wobei im OnCreate doch nur
MemCheck version 2.73
Total leak: 968 bytes *** MEMCHK: Blocks STILL allocated *** Leak #0 User allocated memory (GetMem) Size: 104 1 Occurence call stack - 0 : (no debug info) Find error: 0012EFC8 call stack - 1 : (no debug info) Find error: 0040D01D call stack - 2 : (no debug info) Find error: 0040D52C call stack - 3 : (no debug info) Find error: 0040D623 call stack - 4 : (no debug info) Find error: 0040478E call stack - 5 : (no debug info) Find error: 77896C3E call stack - 6 : (no debug info) Find error: 7789FF6A call stack - 7 : (no debug info) Find error: 0041C97D call stack - 8 : (no debug info) Find error: 0041CC2E call stack - 9 : (no debug info) Find error: 0041CB9C call stack - 10 : (no debug info) Find error: 0041F0A2 call stack - 11 : (no debug info) Find error: 0041CA12 call stack - 12 : (no debug info) Find error: 0041CC2E call stack - 13 : (no debug info) Find error: 0041CB6D call stack - 14 : (no debug info) Find error: 0041F0A2 call stack - 15 : (no debug info) Find error: 0045D2DE call stack - 16 : (no debug info) Find error: 0041D9D3 call stack - 17 : (no debug info) Find error: 0041AFA3 call stack - 18 : (no debug info) Find error: 004185F0 call stack - 19 : (no debug info) Find error: 0041877A call stack - 20 : (no debug info) Find error: 0041880B call stack - 21 : (no debug info) Find error: 0045CBFE call stack - 22 : (no debug info) Find error: 0046515C call stack - 23 : (no debug info) Find error: 004BAC59 call stack - 24 : (no debug info) Find error: 77E98939 call stack - 25 : (no debug info) Find error: FFFFFFFC Leak #1 User allocated memory (GetMem) Size: 16 1 Occurence call stack - 0 : (no debug info) Find error: 0012F014 call stack - 1 : (no debug info) Find error: 0040D623 call stack - 2 : (no debug info) Find error: 0040478E call stack - 3 : (no debug info) Find error: 77896C3E call stack - 4 : (no debug info) Find error: 7789FF6A call stack - 5 : (no debug info) Find error: 0041C97D call stack - 6 : (no debug info) Find error: 0041CC2E call stack - 7 : (no debug info) Find error: 0041CB9C call stack - 8 : (no debug info) Find error: 0041F0A2 call stack - 9 : (no debug info) Find error: 0041CA12 call stack - 10 : (no debug info) Find error: 0041CC2E call stack - 11 : (no debug info) Find error: 0041CB6D call stack - 12 : (no debug info) Find error: 0041F0A2 call stack - 13 : (no debug info) Find error: 0045D2DE call stack - 14 : (no debug info) Find error: 0041D9D3 call stack - 15 : (no debug info) Find error: 0041AFA3 call stack - 16 : (no debug info) Find error: 004185F0 call stack - 17 : (no debug info) Find error: 0041877A call stack - 18 : (no debug info) Find error: 0041880B call stack - 19 : (no debug info) Find error: 0045CBFE call stack - 20 : (no debug info) Find error: 0046515C call stack - 21 : (no debug info) Find error: 004BAC59 call stack - 22 : (no debug info) Find error: 77E98939 call stack - 23 : (no debug info) Find error: FFFFFFFC Leak #2 User allocated memory (GetMem) Size: 848 1 Occurence call stack - 0 : (no debug info) Find error: 0012FA78 call stack - 1 : (no debug info) Find error: 0041CC2E call stack - 2 : (no debug info) Find error: 0041CB9C call stack - 3 : (no debug info) Find error: 0041F0A2 call stack - 4 : (no debug info) Find error: 0041CA12 call stack - 5 : (no debug info) Find error: 0041CC2E call stack - 6 : (no debug info) Find error: 0041CB6D call stack - 7 : (no debug info) Find error: 0041F0A2 call stack - 8 : (no debug info) Find error: 0045D2DE call stack - 9 : (no debug info) Find error: 0041D9D3 call stack - 10 : (no debug info) Find error: 0041AFA3 call stack - 11 : (no debug info) Find error: 004185F0 call stack - 12 : (no debug info) Find error: 0041877A call stack - 13 : (no debug info) Find error: 0041880B call stack - 14 : (no debug info) Find error: 0045CBFE call stack - 15 : (no debug info) Find error: 0046515C call stack - 16 : (no debug info) Find error: 004BAC59 call stack - 17 : (no debug info) Find error: 77E98939 call stack - 18 : (no debug info) Find error: FFFFFFFC *** MEMCHK: End of allocated blocks *** *** MEMCHK: Chronological leak information *** * User allocated memory (GetMem) (Leak #2) Size: 848 * User allocated memory (GetMem) (Leak #1) Size: 16 * User allocated memory (GetMem) (Leak #0) Size: 104 *** MEMCHK: End of chronological leak information *** *** MEMCHK: Blocks written to after destruction *** Bad blocks count: 0 *** MEMCHK: End of blocks written to after destruction ***
Delphi-Quellcode:
gemacht wird...wo soll da ein MemoryLeak sein???
Gruppen:=TStringList.Create;
Lieder:=TStringList.Create; GroupID:=TStringList.Create; SetLength(Nodes,0); |
Re: Speicherlecks finden
Wenn der MemoryCheck nicht drin ist ... dann werd ich ihn nächte Woche dir mal nachreichen ... i komm ja im Moment nicht ran :(
|
Re: Speicherlecks finden
Ich find ehrlich gesagt nicht mal das programm überhaupt :duck:
also FastXMem findet nix :( |
Re: Speicherlecks finden
Hast du die Unit am Anfang deiner eigenen Unit oder am Anfang der .dpr eingebunden und als allererstes MemChk; aufgerufen?
|
Re: Speicherlecks finden
Zitat:
|
Re: Speicherlecks finden
Sind auch die Compileroptione passend (Keine Optimierung)
Ich bin aber vor kurzen auf ![]() Damit hast du einen schnelleren Memory-Manger ohne Speicherfragmentierung sowie einen MemChecker in einem. Und zugriff auf freigegebene Sepicherbereiche werden sofort bestraft da die freigegebenen Bereich mit einem Bestimmten Bitmuster belegt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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