AGB  ·  Datenschutz  ·  Impressum  







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

TService debuggen

Ein Thema von FrankBrin · begonnen am 12. Nov 2007 · letzter Beitrag vom 23. Nov 2009
Antwort Antwort
Seite 1 von 2  1 2      
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#1

TService debuggen

  Alt 12. Nov 2007, 15:57
Hallole,
hab da mal ne prinzipielle Frage zu Diensten und deren Fehlersuche.

Ich habe um Erfahrungen zu sammeln erst einmal einen minimalistischen Service geschrieben.

Dieser Service ist genau so aufgebaut, wie es überall beschrieben wird. Jedoch habe ich irgendwo einen Fehler.

So und jetz die Frage: Wie debugge ich einen Service?
Den Hinweis "Mit Prozess verbinden" habe ich schon gefunden, aber mit was für einem Prozess?

Kann mir jemand die ganze Geschichte verraten. Was passiert beim Prozess verbinden?

Fragen nix als Fragen!

Wer kann helfen?

Gruss
Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: TService debuggen

  Alt 12. Nov 2007, 17:15
Du kannst in deinem Service die procedure OutputDebugString() verwenden und mit dem Programm
DebugView auffangen.
Andreas
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: TService debuggen

  Alt 13. Nov 2007, 06:23
Hallo, soll das heißen, man kann einen Service nicht mit dem normalen Debugger durchforsten?

Das glaub ich nicht so ganz!

Gruß
Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TService debuggen

  Alt 13. Nov 2007, 06:31
Zitat von FrankBrin:
So und jetz die Frage: Wie debugge ich einen Service?
Den Hinweis "Mit Prozess verbinden" habe ich schon gefunden, aber mit was für einem Prozess?
Na mit deinem Prozess. Evtl. noch den Haken "Alle Prozesse Anzeigen" anwählen da dein Prozess unter dem Dienstekonto läuft und sonst nicht sichtbar ist.

Zitat von FrankBrin:
Kann mir jemand die ganze Geschichte verraten. Was passiert beim Prozess verbinden?
Das gleiche wie beim normalen Debugging auch. Jedoch wird der entsprechende Debug-Hook nicht beim Prozessstart gesetzt sondern erst später.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: TService debuggen

  Alt 13. Nov 2007, 06:42
Hallo Bernhard,
ja genau das ist der Grund meiner Frage. Unter "Mit Prozess verbinden" erscheint mein Service nicht (Häkchen sind alle gesetzt).
Muß der Service vorher installiert sein?
...
Was mir gerade auffällt: Muß die EXE auf dem lokalen Rechner liegen? Die liegt bei mir nämlich auf einem Serverlaufwerk.
Frank Brinschwitz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TService debuggen

  Alt 13. Nov 2007, 06:43
Man kann sich nur mit Prozessen verbinden, welche monentan laufen. der Speicherort ist egal.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: TService debuggen

  Alt 13. Nov 2007, 07:40
Zitat von FrankBrin:
Hallo Bernhard,
ja genau das ist der Grund meiner Frage. Unter "Mit Prozess verbinden" erscheint mein Service nicht (Häkchen sind alle gesetzt).
Muß der Service vorher installiert sein?
Schon. Wie soll er denn sonst als Dienst laufen?

Zitat von FrankBrin:
Was mir gerade auffällt: Muß die EXE auf dem lokalen Rechner liegen? Die liegt bei mir nämlich auf einem Serverlaufwerk.
Läuft der Dienst wohl auf einem anderen Rechner oder liegt die Datei auf einem Serverlaufwerk? Das erste läst sich mit dem Remote Debugger lösen, das zweite ist ein No-Go. Die Exe eines Dienstes muss auf einem lokalen Rechnerlaufwerk liegen ansonsten wird die Sicherheitsverwaltung von Windows dir gehörig in die Suppe spucken (Dienst nicht startbar, da Netzwerklaufwerke niemals die nötige Vertrauensstellung erreichen können wie ein lokales Laufwerk)
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#8

Re: TService debuggen

  Alt 13. Nov 2007, 09:47
Zitat von mkinzler:
Man kann sich nur mit Prozessen verbinden, welche monentan laufen. der Speicherort ist egal.
Ich vermute mal unter Vista wird das nicht mehr funktionieren wenn die UAC eingeschalten ist.
(weil Prozesse mit unterschiedlicher Berechtigung nicht mehr miteinander "können".

In dem Fall wird man die UAC abdrehen müssen.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#9

Re: TService debuggen

  Alt 13. Nov 2007, 11:53
Man kann auch mit aktivierter UAC problemlos Dienste debuggen. Zumindest mit Visual Studio 2005 (das ja ohnehin mit Admin-Rechten laufen muss) geht das wunderbar. Was du meinst, ist, dass ein Prozess nicht mehr ohne weiteres mit einem Prozess mit höheren Rechten kommunizieren kann.

Edit: Du kannst einen Dienst davon abgesehen auch so programmieren, dass man ihn als normale Anwendung starten und debuggen kann. Solange es um die normale Laufzeitfunktionalität geht (also nicht um dienstspezifische Dinge oder das Dienstaufstartverhalten), ist das auch ein gangbarer Weg.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: TService debuggen

  Alt 13. Nov 2007, 12:01
die IDE muss unter vista ja auch als administrator gestartet werden, sonst funktioniert sie imho nicht richtig.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:17 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