WindowsDienste
-
Hi Folks
Nach ca. 2 Jahren brauche ich mal wieder Hilfe. Ich komme aus der embedded-Welt. Momentan muss ich aber Windows Programmieren. Das klappt eigentlich ganz gut. Nur bräuchte ich Hilfe bei Windows Diensten.
Ich muss allerdings dazusagen, daß ich auf ein bereits vorhandenes fertiges Projekt aufsetze und dies weiterentwickeln muss, da der Betreffende Kollege uns verlassen hat. Ich suche jetzt einen Fehler in einem Windowsdienst.
Vielleicht weiss ja einer von euch einen Tipp.Ausgangslage:
Ich habe einen Dienst. In diesem Dienst werden verschiedene Proxys in jeweils eigenen Threads gestartet. => Die Proxy können gestoppt werden.
Bei Stoppen und Starten (quasi Restart) beobachte ich folgendes Phänomen:
Im Windows Task Manager (in der Prozeßansicht) sehe ich im Moment des Wiederstarten das der benutzte Speicher des Dienst immer größer wird und die CPU-Benutzung bei 30 - 40 %ist. (Im normalen Betrieb sind es 0-1)
Meiner Erfahrung nach deutet es auf Speicherlecks. Ich konnte das ganze eingrenzen auf einen Befehlsaufruf <WaitForSingleObject(m_hSemaphore, 5000)> im Destruktor. Im Destruktor wird nochmals versucht den Proxy zu Stoppen. Bei einem Restart werden die Destruktoren der einzelnen Proxies aufgerufen.
Nach Durchsicht der Beschreibung dieses Befehls bin ich der Ansicht das das nur ein Seiteneffekt ein anderen Fehlers sein kann.Meine Frage(n) an euch:
Hat jemand diesen Effekt auch schon beobachtet ?
Weiss jemand Wie ich WindowsDienste debuggen kann? (Das habe ich noch nicht hinbekommen)
Hat jemand mal einen Link auf ein Tutorial für WindowsDienste?Danke im Voraus
Seppman