AGB  ·  Datenschutz  ·  Impressum  







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

Speicherlecks finden

Ein Thema von glkgereon · begonnen am 23. Sep 2005 · letzter Beitrag vom 8. Dez 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

Speicherlecks finden

  Alt 23. Sep 2005, 19:09
Hi

gibt es ein Tool mit dem ich meine anwendungen auf Speicherlecks prüfen kann?
möglichst freeware und mit link
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Speicherlecks finden

  Alt 23. Sep 2005, 19:12
Was genau meinst du mit Tool? Bei Google suchenMemCheck ist eine einzelne Unit, kann ich empfehlen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#3

Re: Speicherlecks finden

  Alt 23. Sep 2005, 19:44
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?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Speicherlecks finden

  Alt 23. Sep 2005, 19:49
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#5

Re: Speicherlecks finden

  Alt 23. Sep 2005, 19:51
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:
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 ***
wobei im OnCreate doch nur
Delphi-Quellcode:
  Gruppen:=TStringList.Create;
  Lieder:=TStringList.Create;
  GroupID:=TStringList.Create;
  SetLength(Nodes,0);
gemacht wird...wo soll da ein MemoryLeak sein???
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Speicherlecks finden

  Alt 23. Sep 2005, 19:59
Wenn der MemoryCheck nicht drin ist ... dann werd ich ihn nächte Woche dir mal nachreichen ... i komm ja im Moment nicht ran
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#7

Re: Speicherlecks finden

  Alt 23. Sep 2005, 20:00
Ich find ehrlich gesagt nicht mal das programm überhaupt

also FastXMem findet nix
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#8

Re: Speicherlecks finden

  Alt 23. Sep 2005, 20:28
Hast du die Unit am Anfang deiner eigenen Unit oder am Anfang der .dpr eingebunden und als allererstes MemChk; aufgerufen?
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#9

Re: Speicherlecks finden

  Alt 23. Sep 2005, 20:34
Zitat von Dax:
Hast du die Unit am Anfang deiner eigenen Unit oder am Anfang der .dpr eingebunden und als allererstes MemChk; aufgerufen?
Ja
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Speicherlecks finden

  Alt 23. Sep 2005, 22:22
Sind auch die Compileroptione passend (Keine Optimierung)

Ich bin aber vor kurzen auf FastMM umgestiegen.
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:34 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