Thema: Delphi Handle Leak finden

Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

Re: Handle Leak finden

  Alt 16. Jan 2009, 10:15
Hallo Assertor,

eine Lösung hab' ich nicht, nicht mal 'nen Ansatz. Nur das Problem, dass ein Programm von mir immer mehr Handles offen hat und die Threadanzahl kontinuierlich steigt.

Ein paar "unschärfen" habe ich inzwischen gefunden, welche ist egal, das wie könnte Dich interessieren:

Von Sysinternals gibt es den Process Explorer (www.sysinternals.com - das gehört inzwischen Microsoft und Du wirst auch im Technet fündig).

Der Process Explorer ist ein Ersatz des Taskmanagers und kann Dir (einen Teil) der vom Programm genutzen Handle anzeigen.
Du wählst in der Prozessliste Dein Programm aus und kannst dann über Ctrl+H die Handle anzeigen lassen.

Auf die Art und Weise bin ich zumindest dahintergekommen, dass ich beim Lesen der Eventlogs der Server ein Problem habe. Da bleiben sporadisch Handles offen und damit die Threads, die sie genutzt haben, bestehen.

Momentan versuche ich mit dem Process Monitor von der gleichen Seite ein paar zusätzliche Informationen zu erlangen, weiß aber noch nicht, ob das Werkzeug hilfreich ist, die Informationsmenge ist mir (momentan) noch zu hoch.
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.

Naja, egal, meine Probleme brauchen Dich nicht zu interessieren, aber eventuell hilft Dir ja der Weg der Fehlersuche ein bisserl weiter.
  Mit Zitat antworten Zitat