Freigeben über


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.

Screenshot der „Remotedebugger“-Komponenten

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 und unter 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. eine DFÜ-Internetverbindung oder eine länder-/regionsübergreifende Internetverbindung, wird nicht empfohlen. Der Vorgang kann fehlschlagen oder unzumutbar langsam ausgeführt werden.

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.

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

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.

    Informationen zum Remotedebugging einer MAUI-App anstelle von WPF finden Sie unter Remotedebugging einer .NET MAUI-App unter Windows.

  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.

    Wählen Sie für C#-Projekte für .NET Core oder .NET 5 ab Visual Studio 2022 auf der Registerkarte Debuggen die Option Benutzeroberfläche der Startprofile debuggen aus, um Einstellungen für Remotedebuggen zu konfigurieren.

    Screenshot: „Benutzeroberfläche der Startprofile debuggen“ in den Visual Studio-Projekteigenschaften für C# und .NET.

    Andernfalls ändern Sie die Remotedebugeinstellungen direkt auf der Registerkarte Debuggen.

    Screenshot: Registerkarte „Debuggen“ in den Visual Studio-Projekteigenschaften. 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 erhöht sich in jeder Version von Visual Studio um 2).

    Verwenden Sie in diesem Beispiel Folgendes:

    MJO-DL:4026 für Visual Studio 2022

    MJO-DL:4024 für Visual Studio 2019

  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: <Quellpfad>\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 Fensters „Remotedebugger“ für VS 2022.

    Screenshot des Fensters „Remotedebugger“ für VS 2019.

  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. Wenn dies nicht funktioniert, finden Sie Informationen zum Laden und zur Fehlerbehandlung von Symbolen unter Verstehen von Symboldateien und Symboleinstellungen von Visual Studio.

  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.

Remotedebugging einer .NET MAUI-App unter Windows

.NET MAUI-Apps sind verpackte Apps, die bei der Bereitstellung registriert und nicht nur auf einen Remotecomputer kopiert werden müssen. Zum Remotedebugging können Sie eine entpackte Version der App bereitstellen.

Verwenden Sie eine der folgenden Methoden für das Remotedebugging:

  • Veröffentlichen Sie die App auf dem Remotegerät als entpackte App, indem Sie die unter Verwenden der CLI zum Veröffentlichen von entpackten .NET MAUI-Apps für Windows beschriebenen Schritte befolgen und dann die Schritte in diesem Artikel zum Remotedebugging ausführen. (Überspringen Sie die Schritte zum Kopieren der App.)

  • Führen Sie die Schritte in diesem Artikel aus, einschließlich der Schritte zum Erstellen eines Debugstartprofils für das Projekt. Bevor Sie mit dem Debuggen beginnen, bearbeiten Sie die Datei launchSettings.json manuell, und ersetzen Sie den Wert commandName Project mit MsixPackage, wie hier gezeigt.

    "Remote Profile": {
      "commandName": "MsixPackage",
      "remoteDebugEnabled": true,
      "remoteDebugMachine": "170.200.20.22",
      "authenticationMode": "None"
    }
    

    Wenn Sie mit dem Debuggen beginnen, stellt diese Methode zuerst eine entpackte Version der App bereit und startet sie.

    Hinweis

    Sie können launchSettings.json nicht mehr im Dialogfeld „Debugstartprofil“ bearbeiten, sobald Sie den Wert zu MsixPackage geändert haben.

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.

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