Remotedebuggen eines C#- oder VB-Projekts in Visual Studio

Zum Debuggen einer Visual Studio-Anwendung, die auf einem anderen Computer bereitgestellt wurde, installieren und führen Sie die Remotetools auf dem Computer aus, auf dem Sie die App bereitstellen möchten, konfigurieren Sie das Projekt für die Verbindung mit dem Remotecomputer über Visual Studio, und führen Sie die App dann aus.

Remotedebuggerkomponenten

Weitere Informationen zum Remotedebuggen von universellen Windows-Apps (UWP) finden Sie unter Debuggen eines installierten App-Pakets.

Anforderungen

Der Remotedebugger wird unter Windows 7 und höher (kein Smartphone) und Windows Server-Versionen ab Windows Server 2008 Service Pack 2 unterstützt. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.

Hinweis

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. DFÜ-Internetverbindung oder Internetverbindung über mehrere Länder hinweg, wird nicht empfohlen und schlägt möglicherweise fehl oder weist eine unzureichende Geschwindigkeit auf.

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 die aktuellen Remotetools für Ihre Visual Studio-Version herunter. Die aktuelle Version der Remotetools ist mit früheren Versionen von Visual Studio kompatibel, frühere Versionen der Remotetools sind jedoch nicht mit neueren Visual Studio-Versionen kompatibel. (Beispiel: Laden Sie bei Verwendung von Visual Studio 2017 das aktuelle Update der Remotetools für Visual Studio 2017 herunter. Laden Sie in diesem Szenario nicht die Remotetools für Visual Studio 2019 herunter.)
  • Laden Sie die Remotetools herunter, die die gleiche Architektur wie der Computer aufweisen, auf dem Sie sie installieren. Wenn Sie beispielsweise eine 32-Bit-App auf einem Remotecomputer mit einem 64-Bit-Betriebssystem debuggen möchten, installieren Sie die 64-Bit-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 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
Visual Studio 2019 Remotetools Kompatibel mit allen Visual Studio 2019-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
Visual Studio 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
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 unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
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 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. 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 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
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 unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
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 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. Informationen zur aktuellen Version der Remotetools finden Sie in der Visual Studio 2019-Dokumentation.
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 unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
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 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).

Tipp

In einigen Szenarien kann es am effizientesten sein, den Remotedebugger von einer Dateifreigabe aus auszuführen. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers von einer Dateifreigabe.

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 das Dialogfeld Konfiguration für Remotedebugging angezeigt.

    Konfiguration des Remotedebuggers

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

  4. 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.

  5. Wählen Sie Remotedebugging konfigurieren aus, um die Firewall zu konfigurieren und den Remotedebugger zu starten.

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

    Fenster des Remotedebuggers

    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

Hinweis

Wenn Sie Berechtigungen für weitere Benutzer hinzufügen, den Authentifizierungsmodus oder die Portnummer für den Remotedebugger ändern müssen, finden Sie weitere Informationen unter Konfigurieren des Remotedebuggers.

Remotedebuggen des Projekts

Der Debugger kann Visual C#- oder Visual Basic-Desktopanwendungen nicht auf einem Remotecomputer bereitstellen, aber Sie können diese trotzdem wie folgt remotedebuggen. Im folgenden Verfahren wird davon ausgegangen, dass Sie die Anwendung auf einem Computer mit dem Namen MJO-DL debuggen möchten, wie in der Abbildung gezeigt.

  1. Erstellen Sie ein WPF-Projekt mit dem Namen MyWpf.

  2. Legen Sie einen leicht erreichbaren Haltepunkt an einer beliebigen Stelle im Code fest.

    Beispielsweise können Sie einen Haltepunkt in einem Schaltflächenhandler festlegen. Öffnen Sie hierzu die Datei „MainWindow.xaml“, und fügen Sie ein Schaltflächensteuerelement aus der Toolbox hinzu. Doppelklicken Sie dann auf die Schaltfläche, um ihren Handler zu öffnen.

  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und dann auf Eigenschaften.

  4. Wählen Sie auf der Seite Eigenschaften die Registerkarte Debuggen aus.

    Screenshot der Registerkarte „Debuggen“ in den Eigenschaften des Projektmappen-Explorers von Visual Studio. Die Eigenschaft „Remotecomputer verwenden“ ist auf „MJO-DL:4022“ festgelegt.

  5. Stellen Sie sicher, dass das Textfeld Arbeitsverzeichnis leer ist.

  6. Wählen Sie Remotecomputer verwenden aus, und geben Sie ihrcomputername:port in das Textfeld ein. (Die Portnummer wird im Fenster des Remotedebuggers angezeigt. Die Portnummer wird für jede Version von Visual Studio um 2 erhöht.)

    Verwenden Sie in diesem Beispiel Folgendes:

    MJO-DL:4026 für Visual Studio 2019

    MJO-DL:4024 für Visual Studio 2019

    MJO-DL:4022 für Visual Studio 2017

  7. Stellen Sie sicher, dass Debuggen von nativem Code aktivieren nicht aktiviert ist.

  8. Erstellen Sie das Projekt.

  9. Erstellen Sie auf dem Remotecomputer einen Ordner mit dem gleichen Pfad wie der Debug-Ordner auf Ihrem Visual Studio-Computer: <source path>\MyWPF\MyWPF\bin\Debug.

  10. Kopieren Sie die ausführbare Datei, die Sie soeben erstellt haben, vom Visual Studio-Computer in den neu erstellten Ordner auf dem Remotecomputer.

    Achtung

    Führen Sie keine Änderungen und keine Neuerstellung des Codes aus (andernfalls müssen Sie diesen Schritt wiederholen). Die ausführbare Datei, die Sie auf den Remotecomputer kopiert haben, muss genau mit der lokalen Quelle und den lokalen Symbolen übereinstimmen.

    Sie können das Projekt manuell über XCopy, Robocopy, PowerShell oder andere Optionen kopieren.

  11. Stellen Sie sicher, dass der Remotedebugger auf dem Zielcomputer ausgeführt wird (wenn dies nicht der Fall ist, suchen Sie im Menü Start nach Remotedebugger). Das Remotedebuggerfenster sieht folgendermaßen aus.

    Screenshot des Visual Studio 2017-Remotedebuggerfensters. Eine Aktion ist aufgelistet, die anzeigt, dass der Debugger auf dem Zielcomputer ausgeführt wird.

  12. Starten Sie das Debuggen in Visual Studio (Debuggen > Debuggen starten oder F5).

  13. Geben Sie Netzwerkanmeldeinformationen ein, wenn Sie dazu aufgefordert werden, um eine Verbindung mit dem Remotecomputer herzustellen.

    Die erforderlichen Anmeldeinformationen unterscheiden sich abhängig von der Sicherheitskonfiguration Ihres Netzwerks. Auf einem Domänencomputer können Sie z. B den Domänennamen und das Kennwort eingeben. Auf einem Computer, der kein Domänencomputer ist, können Sie den Computernamen und einen gültigen Benutzerkonto Namen wie MJO-DL\name@something.com zusammen mit dem richtigen Kennwort eingeben.

    Das Hauptfenster der WPF-Anwendung sollte auf dem Remotecomputer geöffnet sein.

  14. Nehmen Sie ggf. Maßnahmen zum Erreichen des Breakpoints vor. Es sollte angezeigt werden, dass der Haltepunkt aktiv ist. Falls nicht, wurden die Symbole für die Anwendung nicht geladen. Wiederholen Sie den Vorgang, und wenn dies nicht funktioniert, rufen Sie Informationen zum Laden und zur Fehlerbehandlung von Symbolen unter Verstehen von Symboldateien und den Symboleinstellungen von Visual Studio ab.

  15. Auf dem Visual Studio-Computer sollte angezeigt werden, dass die Ausführung am Haltepunkt angehalten wurde.

    Wenn bestimmte Dateien, die keine Codedateien sind, von der Anwendung benötigt werden, müssen Sie diese in das Visual Studio-Projekt einbeziehen. Erstellen Sie einen Projektordner für die zusätzlichen Dateien (klicken Sie im Projektmappen-Explorer auf Hinzufügen > Neuer Ordner.) Fügen Sie die Dateien anschließend zum Ordner hinzu (klicken Sie im Projektmappen-Explorer auf Hinzufügen > Vorhandenes Element, und wählen Sie dann die Dateien aus). Legen Sie auf der Seite Eigenschaften der einzelnen Dateien die Option In Ausgabeverzeichnis kopieren auf Immer kopieren fest.

Einrichten des Debuggings 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.

Ab Visual Studio 2013 Update 2 können Sie ü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). Weitere Informationen finden Sie unter .NET Remote Symbol Loading Changes in Visual Studio 2012 and 2013 (Änderungen beim Laden von Symbolen in der .NET-Remoteinstanz in Visual Studio 2012 und 2013).

Siehe auch