Remote Debugging

Sie können eine Visual Studio-Anwendung debuggen, die auf einem anderen Computer bereitgestellt wurde. Dazu verwenden Sie den Visual Studio Remote Debugger.

Ausführliche Anweisungen zum Remotedebuggen finden Sie in den folgenden Themen.

Szenario Link
Azure App Service Remotedebuggen von ASP.NET Core in Azure oder für Visual Studio Enterprise der Momentaufnahmedebugger
Azure VM Remotedebuggen von ASP.NET auf einem Azure-VM
Azure Service Fabric Debuggen einer Azure Service Fabric-Anwendung
ASP.NET Remotedebuggen von ASP.NET Core oder Remotedebuggen von ASP.NET
C# oder Visual Basic Remotedebuggen eines C#- oder Visual Basic-Projekts
C++ Remotedebuggen eines C++-Projekts
Docker Anfügen an einen in einem Docker-Container ausgeführten Prozess
Linux Debuggen von .NET Core unter Linux mithilfe von SSH durch Anhängen an einen Prozess
Universelle Windows-Apps (UWP) Ausführen von UWP-Apps auf einem Remotecomputer oder Debuggen eines installierten App-Pakets

Wenn Sie den Remotedebugger nur herunterladen und installieren möchten und keine weiteren Anweisungen für Ihr Szenario benötigen, führen Sie die Schritte in diesem Artikel aus.

Herunterladen und Installieren der Remotetools

Laden Sie über die Links in der folgenden Tabelle die richtige Version der Remotetools herunter, und installieren Sie sie nicht auf dem Visual Studio-Computer, sondern auf dem Remotegerät oder -server, auf dem Sie das Debugging durchführen möchten.

  • Laden Sie das neueste Update der Remotetools für Ihre Visual Studio-Version herunter. Frühere Remotetools-Versionen sind nicht mit späteren Visual Studio-Versionen kompatibel. (Wenn Sie beispielsweise Visual Studio 2019 verwenden, laden Sie das neueste Update der Remotetools für Visual Studio 2019 herunter. Laden Sie in diesem Szenario die Remotetools für Visual Studio 2022 nicht herunter.)
  • Laden Sie die Remotetools herunter, die die gleiche Architektur wie der Computer aufweisen, auf dem Sie sie installieren. Wenn Sie beispielsweise x86-Anwendungen auf einem Remotecomputer mit einem x64-Betriebssystem debuggen möchten, installieren Sie die x64-Remotetools. Installieren Sie zum Debuggen von x86-, ARM- oder x64-Anwendungen unter einem ARM64-Betriebssystem die ARM64-Remotetools.
Version Link Hinweise
Visual Studio 2022 Remotetools Kompatibel mit allen Visual Studio 2022-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2019 Remotetools Remotetools für Visual Studio 2019 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2017 Remotetools Remotetools für Visual Studio 2017 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2015 Remotetools Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2013 Remotetools Downloadseite in der Visual Studio 2013-Dokumentation
Visual Studio 2012 Remotetools Downloadseite in der Visual Studio 2012-Dokumentation
Version Link Hinweise
Visual Studio 2019 Remotetools Kompatibel mit allen Visual Studio 2019-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. Informationen zur aktuellen Version der Remotetools finden Sie in der Visual Studio 2022-Dokumentation.
Visual Studio 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2015 Remotetools Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien.
Visual Studio 2013 Remotetools Downloadseite in der Visual Studio 2013-Dokumentation
Visual Studio 2012 Remotetools Downloadseite in der Visual Studio 2012-Dokumentation

Sie können den Remotedebugger ausführen, indem Sie msvsmon.exe auf den Remotecomputer kopieren, statt die Remotetools zu installieren. Der Konfigurations-Assistent für den Remotedebugger (rdbgwiz.exe) ist jedoch nur verfügbar, wenn Sie die Remotetools installieren. Unter Umständen müssen Sie den Assistenten für die Konfiguration verwenden, wenn Sie den Remotedebugger als Dienst ausführen möchten. Weitere Informationen finden Sie unter (Optional) Konfigurieren des Remotedebuggers als Dienst.

Hinweis

  • Verwenden Sie ARM64 (verfügbar mit der aktuellen Version der Remotetools) zum Debuggen von Windows 10-Apps (oder höher) auf ARM-Geräten.
  • Zum Debuggen von Windows 10-Apps auf Windows RT-Geräten verwenden Sie ARM (nur im Download der Visual Studio 2015-Remotetools verfügbar).
  • Um x64-Apps unter einem ARM64-Betriebssystem zu debuggen, führen Sie die Datei „msvsmon.exe“ für x64 aus, die mit den ARM64-Remotetools installiert wird.

Anforderungen

Unterstützte Betriebssysteme

Auf dem Remotecomputer muss eines der folgenden Betriebssysteme ausgeführt werden:

  • Windows 11

  • Windows 10 (nicht Smartphones)

  • Windows 8 oder 8.1 (nicht Windows Phone)

  • Windows 7 Service Pack 1

  • Windows Server 2016

  • Windows Server 2012 oder Windows Server 2012 R2

  • Windows Server 2008 Service Pack 2, Windows Server 2008 R2 Service Pack 1

Hinweis

Windows Phone erfordert zum Debuggen eine USB-Verbindung (die Remotetools sind nicht erforderlich).

Unterstützte Hardwarekonfigurationen

  • 1,6-GHz-Prozessor oder schneller

  • 1 GB RAM (1,5 GB bei Ausführung auf einem virtuellen Computer)

  • 1 GB verfügbarer Festplattenspeicher

  • Festplatte mit 5400 U/min

  • DirectX 9-kompatible Grafikkarte mit einer Auflösung von 1024 x 768 oder höher

Netzwerkkonfiguration

Der Remotecomputer und der Visual Studio-Computer müssen über ein Netzwerk, eine Arbeitsgruppe oder eine Heimnetzgruppe verbunden bzw. mit einem Ethernetkabel direkt verbunden werden. Das Debuggen zwischen zwei über einen Proxy verbundenen Computern wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder niedriger Bandbreite, z. B. eine DFÜ-Internetverbindung oder eine länder-/regionsübergreifende Internetverbindung, wird nicht empfohlen. Der Vorgang kann fehlschlagen oder unzumutbar langsam ausgeführt werden.

(Optional) So führen Sie den Remotedebugger über eine Dateifreigabe aus

Der Remotedebugger (msvsmon.exe) ist auf einem Computer mit Visual Studio Community, Professional oder Enterprise bereits installiert. In einigen Szenarien ist die einfachste Möglichkeit zum Einrichten des Remotedebuggens das Ausführen des Remotedebuggers („msvsmon.exe“) aus einer Dateifreigabe. Informationen zu den Nutzungsbeschränkungen finden Sie auf der Hilfeseite des Remotedebuggers (Hilfe > Syntax im Remotedebugger).

  1. Suchen Sie msvsmon.exe in dem Verzeichnis, das Ihrer Version von Visual Studio entspricht:

    Programme\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Programme\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    Programme (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Programme (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

  2. Geben Sie den Ordner Remote Debugger auf dem Computer mit Visual Studio frei.

  3. Führen Sie auf dem Remotecomputer msvsmon.exe aus dem freigegebenen Ordner aus. Befolgen Sie die Setupanweisungen.

Tipp

Informationen zur Befehlszeileninstallation und Befehlszeilenreferenz finden Sie auf der Hilfeseite zu msvsmon.exe, indem Sie msvsmon.exe /? in die Befehlszeile auf dem Computer eingeben, auf dem Visual Studio installiert ist (oder wechseln Sie zu Hilfe > Syntax im Remotedebugger).

Einrichten des Remotedebuggers

  1. Suchen und starten Sie auf dem Remotecomputer im Menü Start den Remotedebugger.

    Wenn Sie auf dem Remotecomputer nicht über Administratorberechtigungen verfügen, klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Starten Sie andernfalls die App auf normale Weise.

    Wenn Sie beabsichtigen, eine Verbindung mit einem Prozess herzustellen, der unter einem Administratorkonto oder einem anderen Benutzerkonto ausgeführt wird (z. B IIS), klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers als Administrator.

  2. Wenn Sie den Remotedebugger zum ersten Mal starten (oder bevor Sie ihn konfiguriert haben), wird der Assistent Konfiguration für Remotedebugging angezeigt.

    In den meisten Szenarien wählen Sie Weiter aus, bis Sie zur Seite Windows-Firewall konfigurieren des Assistenten gelangen.

    Screenshot der Konfiguration des Remotedebuggers.

    Screenshot der Konfiguration des Remotedebuggers.

    Wenn die Windows-Webdienste-API nicht installiert ist (geschieht nur unter Windows Server 2008 R2), klicken Sie auf die Schaltfläche Installieren.

  3. Wählen Sie mindestens einen Netzwerktyp aus, für den Sie die Remotetools verwenden möchten. Wenn die Computer über eine Domäne verbunden sind, müssen Sie das erste Element auswählen. Wenn die Computer über eine Arbeitsgruppe oder eine Heimnetzgruppe verbunden sind, wählen Sie das zweite bzw. dritte Element aus.

    Wählen Sie als Nächstes Fertig stellen aus, um den Remotedebugger zu starten.

    Wählen Sie Remotedebugging konfigurieren aus, um den Remotedebugger zu starten.

  4. Wenn die Konfiguration abgeschlossen ist, wird das Fenster Remotedebugger angezeigt.

    Screenshot des Fensters „Remotedebugger“

    Screenshot des Fensters „Remotedebugger“

    Der Remotedebugger wartet nun auf eine Verbindung. Verwenden Sie den Servernamen und die Portnummer, die angezeigt werden, um die Remoteverbindungskonfiguration in Visual Studio festzulegen.

Um den Remotedebugger zu beenden, wählen Sie Datei>Beenden aus. Sie können ihn über das Menü Start oder über die Befehlszeile neu starten:

<Remote debugger installation directory>\msvsmon.exe

Konfigurieren des Remotedebuggers

Sie können einige Aspekte der Konfiguration des Remotedebuggers ändern, nachdem Sie ihn zum ersten Mal gestartet haben.

  • Wenn Sie Berechtigungen für andere Benutzer zum Herstellen einer Verbindung mit dem Remotedebugger hinzufügen müssen, wählen Sie Extras > Berechtigungen aus. Sie müssen Administratorrechte besitzen, um Berechtigungen zu gewähren oder zu verweigern.

    Wichtig

    Sie können den Remotedebugger unter einem anderen Benutzerkonto als dem auf dem Visual Studio-Computer verwendeten Benutzerkonto ausführen, allerdings müssen Sie das andere Benutzerkonto den Berechtigungen des Remotedebuggers hinzufügen.

    Alternativ können Sie den Remotedebugger über die Befehlszeile mit dem /allow <Benutzername>-Parameter erneut starten: msvsmon /allow <Benutzername@Computer>.

  • Wenn Sie den Authentifizierungsmodus oder die Portnummer ändern müssen oder einen Timeoutwert für die Remotetools angeben möchten, wählen Sie Extras > Optionen aus.

    Eine Liste der standardmäßig verwendeten Portnummern finden Sie unter Remotedebugger-Portzuweisungen.

    Warnung

    Sie haben die Möglichkeit, die Remotetools im Modus "Keine Authentifizierung" auszuführen, hiervon wird jedoch dringend abgeraten. In diesem Modus gibt es keine Netzwerksicherheit. Wählen Sie den Modus „Ohne Authentifizierung“ nur aus, wenn Sie sicher sind, dass das Netzwerk nicht durch bösartigen oder feindlichen Datenverkehr gefährdet ist.

(Optional) Konfigurieren des Remotedebuggers als Dienst

Zum Debuggen in ASP.NET und anderen Serverumgebungen müssen Sie den Remotedebugger als Administrator ausführen. Wenn Sie möchten, dass er immer ausgeführt wird, müssen Sie den Remotedebugger als Dienst ausführen.

Wenn Sie den Remotedebugger als Dienst konfigurieren möchten, führen Sie die folgenden Schritte aus.

  1. Suchen Sie den Konfigurations-Assistenten für Remote Debugger (rdbgwiz.exe). (Dies ist eine vom Remotedebugger getrennte Anwendung.) Der Konfigurations-Assistent steht nur zur Verfügung, wenn Sie die Remotetools installieren, und wird nicht mit Visual Studio installiert.

  2. Starten Sie den Konfigurations-Assistenten. Wenn die erste Seite angezeigt wird, klicken Sie auf Weiter.

  3. Aktivieren Sie das Kontrollkästchen Visual Studio Remote Debugger als Dienst ausführen.

  4. Fügen Sie den Namen des Benutzerkontos und das Kennwort hinzu.

    Sie müssen diesem Konto möglicherweise das Benutzerrecht Anmelden als Dienst hinzufügen (suchen Sie nach Lokale Sicherheitsrichtlinie („secpol.msc“) auf der Startseite oder im Fenster (oder geben Sie secpol an einer Eingabeaufforderung ein). Wenn das Fenster angezeigt wird, doppelklicken Sie auf Zuweisen von Benutzerrechten, und suchen Sie dann Anmelden als Dienst im rechten Bereich. Doppelklicken Sie darauf. Fügen Sie das Benutzerkonto zum Fenster Eigenschaften hinzu, und klicken Sie auf OK. Klicken Sie auf Weiter.

  5. Wählen Sie den Typ des Netzwerks aus, über das die Remotetools kommunizieren sollen. Es muss mindestens ein Netzwerktyp ausgewählt werden. Wenn die Computer über eine Domäne verbunden sind, sollten Sie das erste Element auswählen. Wenn die Computer über eine Arbeitsgruppe oder eine Heimnetzgruppe verbunden sind, sollten Sie das zweite bzw. dritte Element auswählen. Klicken Sie auf Weiter.

  6. Wenn der Dienst gestartet werden kann, wird Der Konfigurations-Assistent für Visual Studio Remote Debugger wurde erfolgreich abgeschlossenangezeigt. Wenn der Dienst nicht gestartet werden kann, wird Fehler beim Abschließen des Assistenten zum Konfigurieren von Visual Studio Remote Debuggerangezeigt. Die Seite bietet auch Tipps, wie Sie den Dienst ans Laufen bringen können.

  7. Klicken Sie auf Fertig stellen.

    An diesem Punkt wird der Remotedebugger als Dienst ausgeführt. Sie können dies überprüfen, indem Sie zu Einstellungen > Dienste navigieren und nach Visual Studio Remote Debugger suchen.

    Sie können den Remotedebugger-Dienst über Einstellungen > Dienste beenden und starten.

Einrichten des Debuggens mit Remotesymbolen

Sie sollten Ihren Code mit den auf dem Visual Studio-Computer generierten Symbolen debuggen können. Die Leistung des Remotedebuggers ist viel besser, wenn Sie lokale Symbole verwenden. Wenn Sie Remotesymbole verwenden müssen, ist es erforderlich, dem Remotedebugmonitor mitzuteilen, dass er auf dem Remotecomputer nach Symbolen suchen soll.

Sie können über die folgende msvsmon-Befehlszeilenoption Remotesymbole für verwalteten Code verwenden: Msvsmon /FallbackLoadRemoteManagedPdbs

Weitere Informationen finden Sie in der Hilfe zum Remotedebugging (drücken Sie F1 im Remotedebuggerfenster, oder klicken Sie auf Hilfe > Verwendung).