Genehmigt: Fortect
Hier finden Sie normalerweise einige einfache Schritte, die Ihnen bei der Fehlerbehebung und Behebung des Problems mit dem Windows-Remote-Debugging-Dienst helfen. g.stackoverflow.com Bild: stackoverflow.com Remote-Debugging umfasst zwei Debugger, die von zwei verschiedenen Standorten aus ausgeführt werden. Der Debugger, der das allgemeine Debuggen auswertet, wird als Debug-Site bezeichnet. Der kommende Debugger, der als Debug-Target bezeichnet wird, verwaltet diese Debugging-Sitzung von einem entfernten Standort aus.
g. g.Protokoll
- wichtig zu lesen
Der Dienst muss aus dem Kontext im Dienststeuerungs-Manager stammen, nicht aus Visual Studio. Aus diesem Grund ist das Debuggen Ihrer Lösung nicht mehr so einfach wie das Debuggen anderer Typen von Visual Studio-Anwendungen. Um Ihren eigenen Dienst zu debuggen, müssen Sie den Dienst starten, aber selbst dann einen Debugger für die auszuführende Aktion darauf verfügbar machen. Dann sollten Sie in der Lage sein, Ihre Anwendung mit allen standardmäßigen Debuggingfeatures von Visual Studio zu debuggen.
Sie können nur einen einzelnen Debugger an einen laufenden Dienst anhängen. Der Hinzufügungsprozess beeinträchtigt die aktuelle Funktion Ihres Dienstes; Es verpflichtet sich, die Verarbeitung zusammen mit ihren Diensten nicht immer zu stoppen oder auszusetzen. Das heißt, wenn Ihr Dienst zu Beginn des Debuggens als viel ausgeführt angesehen wurde, befindet sich das Haus technisch gesehen immer noch im Startzustand, nur wenn Sie es debuggen, aber seine Verdauungsvorschläge wurden angehalten.
Sobald Sie in einen Prozess geraten, können Sie sicherlich Haltepunkte packen und sie verwenden, um Ihren Code zu debuggen. Nachdem Sie das Dialogfeld verlassen haben, in dem Sie üben, den Prozess anzuhängen, befinden Sie sich praktisch im Debug-Modus. Sie können die Dienstinspektion zum Starten, Beenden, Anhalten und Fortsetzen des Dienstes im Markt verwenden, um die von Ihnen angegebenen Haltepunkte zu erreichen. Können Sie diesen Dummy-Dienst später nach erfolgreichem Debugging erhalten?
In diesem Artikel geht es um das Debuggen eines Dienstes, der Experten zufolge normalerweise auf dem lokalen Computer ausgeführt wird, aber jemand kann Windows-Dienste debuggen, indem er auf einem Remote-Desktop-Support-Computer gestartet wird. Siehe Remote-Debugging .
So debuggen Sie einen vertrauenswürdigen Dienst
-
Erstellen Sie Ihren Dienst in der Debug-Konfiguration.
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
- 1. Laden Sie Fortect herunter und installieren Sie es auf Ihrem Computer
- 2. Starten Sie das Programm und klicken Sie auf "Scannen"
- 3. Klicken Sie auf "Reparieren", um alle gefundenen Probleme zu beheben
Installieren Sie den Dienst. Weitere Informationen finden Sie unter So installieren und deinstallieren Sie Dienste .
-
Starten Sie Ihre Website über Service Control Manager, Server Explorer oder über Code. Weitere Informationen finden Sie unter Starten von Diensten .
-
Starten Sie Visual Studio und starten Sie Officer-Anmeldeinformationen, damit Sie Prozessen Richtlinien im Markt zuweisen können.
-
(Optional) Wählen Sie im Bedienfeld „Tattoo Studio“ im visuellen Menü „Werkzeuge“, „Optionen“. Wählen Sie im Dialogfeld „Optionen“ die Option „Symbole“, „Debuggen“, aktivieren Sie das Kontrollkästchen für bestimmte Microsoft-Symbolserver, und klicken Sie dann auf „OK“.
-
Wählen Sie „Hinzufügen zu“ aus dem Lebensmittellisten-Tag aus, um die Auswahl „Debuggen“ oder „Tools“ zu ändern. (Tastatur: Strg + Alt + P)
Wie debugge ich Ihren Windows-Dienst ohne Installation?
Der einfachste Weg zum Debuggen muss darin bestehen, Ihre Funktion innerhalb der Methode aufzurufen. cs Main (), anstatt es außerhalb Ihres Dienstes aufzurufen. Bitte beachten Sie, dass diese Methode möglicherweise nur verwendet wird, wenn Sie vorhaben, Ihren erstaunlichen Code zu debuggen …
Das Dialogfeld “Dialogfeldoperationen” kann geöffnet werden.
-
Kann ein riesiger Debugger an einen Windows-Dienst angehängt werden?
Der Visual Studio-Debugger ist einfach anzuschließen und kann einen laufenden Windows-Dienst unterstützen. Dies kann automatisch nützlich sein, wenn Sie der Entwicklung Ihrer Arbeit möglichst nahe kommen und gleichzeitig überprüfen möchten, ob Ihr persönliches Softwarepaket ordnungsgemäß funktioniert, wenn es normalerweise als echter Windows-Dienst unterstützt wird.
Aktivieren Sie das Kontrollkästchen Benutzerprozesse anzeigen.
-
Wählen Sie im Abschnitt „Verfügbare Prozentsätze“ den Vorgang in der Reihenfolge für Ihre Abteilung aus, indem Sie sich merken, und klicken Sie dann auf „Anhängen“.
Tipp
Der Prozess hat denselben Namen wie die ausführbare Datei Ihrer Lösung.
Der Abschnitt An Prozess anhängen dieses Dialogfelds wird angezeigt.
-
Wählen Sie die entsprechenden Optionen aus und klicken Sie dann auf OK, um das Dialogfeld zu schließen.
Hinweis
Sie befinden sich ohne Zweifel im Debug-Modus.
-
Geben Sie an, wie die Haltepunkte, die Sie in Ihrer Vorwahl verwenden möchten.
-
Der Jailbreak von Access Control Manager sendet zusätzlich zu den Exploitation-Diensten Befehle zum Stoppen, Anhalten und Fortsetzen an Ihre Breakpoints. Weitere Informationen zum Starten von Service Control Manager finden Sie unter Gewusst wie: Dienste , um loszulegen. Siehe auch Fehlerbehebung: Debuggen von Windows-Diensten .
Tipps zur Fehlerbehebung bei Windows-Diensten
Wie man das Debugging beendet ein Dienst in C#?
g.Notiz. Um den Dienst am Laufen zu halten, wählen Sie Debuggen -> Alle trennen. Dies ermöglicht es einer Person, einen Client zu starten, der mit der Unterstützung kommuniziert, nachdem sie erfolgreich gestartet wurde und der Startcode das Debuggen beendet hat. Wenn Sie Umschalt + F5 (Debugging beenden) drücken, wird der Dienst möglicherweise beendet.
Durch das Verschachteln eines Dienstprozesses können Sie sicherstellen, dass Sie den größten Teil Ihres Codes debuggen, aber nicht alles, was mit Ihrem Code zusammenhängt, wenn Sie einen solchen Dienst in Betracht ziehen. Da das System beispielsweise zweifelsfrei ausgeführt wird, debuggen Sie nicht Inline-Code, OnStart -Dienstpfade oder intern. Dies ist das Präfix, das von der Blaupause Main
verwendet wird. erziehen Sie die Agentur auf diese Weise. Eine Möglichkeit, sicherzustellen, dass Sie diese Einschränkung umgehen, besteht darin, Ihren zweiten temporären Dienst in der Dienstanwendung zu erstellen, die nur zum Debuggen vorhanden ist. Sie können beide Dienste installieren und dann diesen Dummy-Dienst starten, um den Fehlerbehebungsprozess zu laden. Nachdem das vorübergehende Unternehmen den Prozess initiiert hat, können Sie das Menü „Debuggen“ in Visual Studio verwenden, um eine Verbindung zum Dienstprozess einer Person herzustellen.
Versuchen Sie, Aufrufe zu den meisten Where to Sleep -Methoden hinzuzufügen, um die Aktion zu beenden, bis Ihre Website einem Prozess beigetreten ist.
Versuchen Sie, das Programm auf eine der Standardkonsolen zu aktualisieren. Schreiben Sie dazu ein bestimmtes Main
-Secret wie folgt um, damit es sowohl als Windows-Dienst als auch zusätzlich als Konsolenanwendung ausgeführt werden kann, je nachdem, wie das Problem gestartet wurde.
Anleitung: Windows-Dienst so als Konsolenanwendung starten
-
Fügen Sie dem Job eine Methode hinzu, die die Methoden OnStart und OnStop ausführt:
Wie aktiviere ich Remote-Debugging?
Öffnen Sie, würde ich sagen, den Entwickleroptionen-Touchscreen auf Ihrem Android.Wählen Sie USB-Debugging aktivieren.Öffnen Sie auf dem Computer des Entwicklers Chrome.Stellen Sie sicher, dass das Markierungsfeld Erkennung des USB-Geräts zulassen ausgewählt ist.Schließen Sie Ihr Android-Gerät mit einem USB-Kabel direkt an Ihren gesamten besten Entwicklungscomputer an.
TestStartupAndStop interne Abweichung (Zeile [] Argumente) this.OnStart (Argumente); Console.ReadLine (); Es ist .OnStop ();
-
Schreiben Sie den Methodentyp
Main
wie folgt um:statisch void Main (string [] args) jedoch wenn (Environment.UserInteractive) MyNewService service1 = new MyNewService (Argumente); service1.TestStartupAndStop (Argumente); Ein weiterer // Setzen Sie alle Ihre alten Hauptalternativen hier ein.
-
Legen Sie den Ausgabetyp auf “Konsolenanwendung” fest, indem Sie die Registerkarte “Aktuelle Anwendung” der Projektelemente verwenden.
-
Wählen Sie Debugging starten (F5).
-
Um das Programm erneut für einen großartigen Windows-Dienst auszuführen, installieren und führen Sie das Tool so aus, wie es Kunden normalerweise für einen Windows-Dienst tun würden. Es besteht zweifellos keine Notwendigkeit, diese langsamen Änderungen vorzunehmen.
In einigen Fällen, z.B. bei der Fehlerbehebung bei Krankheiten, die nur beim Systemstart auftreten, müssen Sie letztendlich die Debugger-Fenster verwenden. Laden Sie im Allgemeinen das Windows Driver Kit (WDK) herunter und lesen Sie außerdem Anleitungen und Debugging-Dienste für Windows.
Siehe auch
- Überblick über Windows-Dienstanwendungen
- Anleitung: Dienste installieren und entfernen
- Vorgehensweise: Dienste starten
- Debug-Dienst
Sie sollten schließlich nicht direkt an einen Prozess anhängen können, wenn Sie mit dem Prozess nicht bereits vertraut waren und nicht verstehen können, wie sich dieser Prozess auf das Anhängen mit möglicherweise Kills auswirkt. Wenn Sie sich beispielsweise tatsächlich beim WinLogon-Prozess anmelden und das Debuggen beenden, wird das System zweifellos heruntergefahren, da es ohne WinLogon niemals sprinten kann.
Um beim Debuggen aussagekräftige Informationen zu erhalten, benötigt der Visual Studio-Debugger Symboldateitypen für die debuggten Faktbinärdateien. Wenn Sie normalerweise tatsächlich ein in Visual Studio erstellter Debuggerdienst sind, befinden sich die Symboldateien (PDB-Dateien) im selben Ordner wie die EXE-Datei oder Bibliothek, während der Debugger diese Elemente automatisch lädt. Immer wenn Sie einen Plan debuggen, den Sie nicht erstellt haben, müssen Sie zuerst die Symbole für den eigenen Dienst finden und sicherstellen, dass sie nur im Debugger gefunden werden können. Siehe Quelldateien für Ausdrücke (. und pdb) im Visual Studio-Debugger angeben . Wenn Sie einen vertrauenswürdigen Systemprozess debuggen oder Symbole für Servicekonsolenaufrufe bevorzugen, sollten Sie das Hinzufügen von Microsoft-Symbolservern in Betracht ziehen. Siehe Debug-Symbole .
VeroClearly, der Prozess wird dann wahrscheinlich denselben Namen wie die exe-Datendatei Ihres Dienstes haben.
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.Wie debugge ich ihren Windows-Dienst ?
Installieren Sie einen aktuellen Dienst.Starten Sie den Dienst.Öffnen Sie Ihr Extrem-Projekt in Visual Studio .NET.Wählen Sie dann Parses nach dem Debug-Menü.Klicken Sie dann auf Systemprozesse anzeigen.Suchen Sie in den verfügbaren Lösungen nach den Prozessen, die als Ergebnis Ihrer Dienstleistung erstellt wurden.
Wie führe ich den Remote-Debugger aus?
Suchen Sie auf Ihrem Familien-Laptop oder Remote-Computer den gesamten Remote-Debugger über das Startmenü und führen Sie ihn aus. Wenn jemand auf dem Remote-Computer normalerweise keine Administratorrechte besitzt, klicken Sie mit der rechten Maustaste auf die Remote-Debugger-Anwendung und wählen Sie Als Administrator ausführen aus. Ansonsten normal starten.
Wie debugge ich eine brandneue Windows-Dienst ohne Installation?
Der einfachste Weg zum Debuggen besteht darin, Ihre Funktion im Gerät auszuwählen. cs Main (), anstatt es von Ihrem Dienst verursacht zu bekommen. Beachten Sie, dass diese Methode direkt verwendet wird, um Debug-Code zu finden.
Wie aktiviere ich hier das Remote-Debugging? unter Windows 10?
Suchen Sie die Windows-Firewall in den Windows-Startmenüs, öffnen Sie sie und wählen Sie im Verlauf der Windows-Firewall eine Anwendung zulassen. Stellen Sie sicher, dass der Visual Studio-Remotedebugger oder Remotedebugger in der Liste der zulässigen Apps und Features mit aktiviertem Kontrollkästchen angezeigt wird und dass bestimmte korrekte Netzwerktypen ausgewählt sind.