Thema: Delphi Handle Leak finden

Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: Handle Leak finden

  Alt 16. Jan 2009, 11:53
Hallo Stephan,

Zitat von nahpets:
Von Sysinternals gibt es den Process Explorer (www.sysinternals.com - das gehört inzwischen Microsoft und Du wirst auch im Technet fündig).
Danke für den Hinweis, auch wenn ich das Tool schon ein paar Jährchen kenne

Zitat von nahpets:
Was mir bisher auffällt ist nur, des regelmäßig ein RegOpenKey auf HKCU\Software\Classes\CLSID\... erfolgt, das Ergebnis NAME NOT FOUND ist und der Process Explorer genau hierfür eine Menge von Handles anzeigt, die allem Anschein nach nicht geschlossen werden. Mir ist in meinem Programm nur keine Stelle bekannt, an der ich auf diesen Schlüssel zugreife und ein entsprechendes RegCloseKey vergessen haben könnte.
Im Gegenzug kann ich Dir aus meinen Erfahrungen mit AQtime etwas helfen - die Meldungen der Registry habe ich dort auch gesehen. Die "NAME NOT FOUND" Geschichte geht teilweise auf die RTL, teilweise auf Komponenten wie z.B. Indy zurück. Im Prinzip wird nur das Vorhandensein von Werten geprüft, kommt die o.g. Meldung gibt es diesen nicht. Also kein Grund sich deswegen zu sorgen.

Das Problem ist die Identifikation der Art und Quelle der offenen Handles. Im AQtime geht dies differenziert z.B. nach GDI/User Handles oder auch File & Registry Zugriffen.

Ein ebenso gutes Tool ist der Process Monitor (auch von SysInternals) - dort ist es teilweise einfacher als im Process Explorer nach Zugriffen zu suchen, da Du hier Filter vorgeben kannst.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat