Windows Service über Debugger starten
Hallo zusammen,
ich habe ein Problem, und zwar muss ich einen Service über einen Debugger starten, und bekomme eine Fehlermeldung.
Gibt es hierfür eine Lösung?
Vielen dank im Voraus
ich habe ein Problem, und zwar muss ich einen Service über einen Debugger starten, und bekomme eine Fehlermeldung.
Gibt es hierfür eine Lösung?
Vielen dank im Voraus
Please also mark the comments that contributed to the solution of the article
Content-Key: 232158
Url: https://administrator.de/contentid/232158
Printed on: April 28, 2024 at 02:04 o'clock
3 Comments
Latest comment
HI,
leider machst du wenig Angaben zum Service und dem Problem, warum du den Service debuggen musst ...
Prinzipiell kann ein Service nicht via Commandline oder Debugger (interaktiv) gestartet werden.
Ein Service wird immer durch den SCM ( service control manager ) gesteuert, der Kommandos wie starten, stoppen, ... an den Service sendet.
Manche Services "bieten" allerdings einen "Interaktions Modus", der es erlaubt den Service über einen Commandline Parameter, z.b.: -i interaktiv via Commandline zu starten. Dies sollte in der Hilfe des Services angezeigt werden.
Wenn der Service keine Interaktion anbietet kann man den Debugger an den Service Process anhängen. Dazu muss der Service zuerst über "net start" oder den "Service Manager" gestartet werden. Anschliessend einen Debugger wie Visual Studio oder WinDbg an den Process anhängen, der vom Service gestartet wurde.
Tritt das Problem jedoch schon beim Service Start auf, ist man mit dem Anhängen leider meist schon zu spät.
Wenn es ein "selbstgeschriebener" Service ist, bei dem man das Projekt und den Sourcecode zur Hand hat, kann man einfach einen Breakpoint in die OnStart Methode setzen und anschliessend den Debugger aufrufen.
Aufgrund der "installutil" Meldung gehe ich von einem dotnet Service aus. Hier kann man z.B. die Debugger Klasse verwenden.
http://msdn.microsoft.com/de-de/library/System.Diagnostics.Debugger_met ...
grüsse
leider machst du wenig Angaben zum Service und dem Problem, warum du den Service debuggen musst ...
Prinzipiell kann ein Service nicht via Commandline oder Debugger (interaktiv) gestartet werden.
Ein Service wird immer durch den SCM ( service control manager ) gesteuert, der Kommandos wie starten, stoppen, ... an den Service sendet.
Manche Services "bieten" allerdings einen "Interaktions Modus", der es erlaubt den Service über einen Commandline Parameter, z.b.: -i interaktiv via Commandline zu starten. Dies sollte in der Hilfe des Services angezeigt werden.
Wenn der Service keine Interaktion anbietet kann man den Debugger an den Service Process anhängen. Dazu muss der Service zuerst über "net start" oder den "Service Manager" gestartet werden. Anschliessend einen Debugger wie Visual Studio oder WinDbg an den Process anhängen, der vom Service gestartet wurde.
Tritt das Problem jedoch schon beim Service Start auf, ist man mit dem Anhängen leider meist schon zu spät.
Wenn es ein "selbstgeschriebener" Service ist, bei dem man das Projekt und den Sourcecode zur Hand hat, kann man einfach einen Breakpoint in die OnStart Methode setzen und anschliessend den Debugger aufrufen.
Aufgrund der "installutil" Meldung gehe ich von einem dotnet Service aus. Hier kann man z.B. die Debugger Klasse verwenden.
http://msdn.microsoft.com/de-de/library/System.Diagnostics.Debugger_met ...
grüsse