Freigeben über


Remotedebugging eines C#- oder Visual Basic-Projekts in Visual Studio

Um eine Visual Studio-Anwendung zu debuggen, die auf einem anderen Computer bereitgestellt wurde, installieren und führen Sie die Remotetools auf dem Computer aus, auf dem Sie Ihre App bereitgestellt haben, konfigurieren Sie Ihr Projekt, um eine Verbindung mit dem Remotecomputer von Visual Studio herzustellen, und führen Sie dann Die App aus.

Screenshot der Remotedebuggerkomponenten.

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

Anforderungen

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

Anmerkung

Das Debuggen zwischen zwei Computern, die über einen Proxy verbunden sind, wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder geringer Bandbreite, wie z. B. Internetwählverbindungen oder über das Internet über Länder/Regionen, wird nicht empfohlen und kann fehlschlagen oder unannehmbar langsam sein.

Herunterladen und Installieren der Remotetools

Laden Sie auf dem Remotegerät oder Server, auf dem Sie debuggen möchten, statt auf dem Visual Studio-Computer, die richtige Version der Remotetools aus den Links in der folgenden Tabelle herunter, und installieren Sie sie.

  • Laden Sie das neueste Update der Remotetools für Ihre Version von Visual Studio 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 mit der gleichen Architektur wie den Computer herunter, 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 die ARM64-Remotetools, um x86-, ARM- oder x64-Anwendungen auf einem ARM64-Betriebssystem zu debuggen.
Version Link Hinweise
Visual Studio 2022 Remotetools Kompatibel mit allen Visual Studio 2022-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. In älteren Versionen von Windows Server finden Sie unter Entsperren des Dateidownloads Hilfe zum Herunterladen der Remotetools.
Visual Studio 2019 Remote-Werkzeuge Remotetools für Visual Studio 2019 stehen über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. In älteren Versionen von Windows Server finden Sie unter Entsperren des Dateidownloads Hilfe zum Herunterladen der Remotetools.
Visual Studio 2017 Remotetools Remotetools für Visual Studio 2017 sind über My.VisualStudio.com verfügbar. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. Für Hilfe beim Herunterladen der Remotetools unter Windows Server, siehe Entsperren des Dateidownloads.
Visual Studio 2015 Remotetools Remotetools für Visual Studio 2015 stehen über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm 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 (x86, x64 (AMD64) oder ARM64 entsprechen. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. Öffnen Sie für die neueste Version der Remotetools das Visual Studio 2022-Dokument.
Visual Studio 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. 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 über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm 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, anstatt die Remotetools zu installieren. Der Konfigurations-Assistent für den Remotedebugger (rdbgwiz.exe) ist jedoch nur verfügbar, wenn Sie die Remotetools installieren. Möglicherweise 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.

Anmerkung

  • Um Windows 10- oder höher-Apps auf ARM-Geräten zu debuggen, verwenden Sie ARM64, das mit der neuesten Version der Remotetools verfügbar ist.
  • Um Windows 10-Apps auf Windows RT-Geräten zu debuggen, verwenden Sie die ARM-Version, die nur im Download der Visual Studio 2015-Remote-Tools verfügbar ist.
  • Um x64-Apps auf einem ARM64-Betriebssystem zu debuggen, führen Sie die x64-msvsmon.exe aus, die mit den ARM64-Remotetools installiert ist.

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.

Den Remotedebugger einrichten

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

    Wenn Sie nicht über Administratorberechtigungen auf dem Remotecomputer verfügen, klicken Sie mit der rechten Maustaste auf die Remotedebugger--App, und wählen Sie Als Administrator ausführenaus. Andernfalls starten Sie es einfach normal.

    Wenn Sie planen, einen Prozess anzufügen, der als Administrator ausgeführt wird oder unter einem anderen Benutzerkonto (z. B. IIS) ausgeführt wird, klicken Sie mit der rechten Maustaste auf die Remotedebugger--App, und wählen Sie Als Administrator ausführenaus. 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 Remotedebuggingkonfiguration angezeigt.

    Wählen Sie in den meisten Szenarien Next aus, bis Sie zur Seite Konfigurieren der Windows-Firewall Des Assistenten gelangen.

    Screenshot der Remotedebuggerkonfiguration.

    Screenshot der Remotedebuggerkonfiguration.

    Wenn die Windows-Webdienst-API nicht installiert ist, was nur unter Windows Server 2008 R2 geschieht, wählen Sie die Schaltfläche Installieren aus.

  3. Wählen Sie mindestens einen Netzwerktyp aus, auf dem 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 Heimnetzgruppe verbunden sind, wählen Sie das zweite oder dritte Element entsprechend aus.

    Wählen Sie als Nächstes Fertigstellen 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 Remotedebugger-Fensters

    Screenshot des Remotedebuggerfensters

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

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

<Remote debugger installation directory>\msvsmon.exe

Anmerkung

Wenn Sie Berechtigungen für zusätzliche Benutzer hinzufügen müssen, ändern Sie den Authentifizierungsmodus oder die Portnummer für den Remotedebugger, lesen Sie Konfigurieren des Remotedebuggers.

Fern-Debugging des Projekts

Der Debugger kann Visual C#- oder Visual Basic-Desktopanwendungen nicht auf einem Remotecomputer bereitstellen, Sie können sie jedoch weiterhin remote wie folgt debuggen. Im folgenden Verfahren wird davon ausgegangen, dass Sie es auf einem Computer mit dem Namen MJO-DL-debuggen möchten, wie in der folgenden Abbildung dargestellt.

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

    Wenn Sie versuchen, eine MAUI-App anstelle von WPF remote zu debuggen, lesen Sie Remotedebugging einer .NET MAUI-App unter Windows.

  2. Legen Sie einen Haltepunkt an einer beliebigen Stelle im Code fest, der leicht erreicht wird.

    Sie können beispielsweise einen Haltepunkt in einem Schaltflächenhandler festlegen. Öffnen Sie dazu "MainWindow.xaml", und fügen Sie ein Schaltflächensteuerelement aus der Toolbox hinzu, und doppelklicken Sie dann auf die Schaltfläche, um den 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 für .NET Framework Remotedebugeinstellungen direkt auf der Registerkarte Debuggen.

    Screenshot der Registerkarte

    Screenshot der Registerkarte

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

  6. Wählen Sie Remotecomputer verwenden aus, und geben Sie ihrcomputername:port in das Textfeld ein. (Die Portnummer wird im Remotedebuggerfenster angezeigt. Die Portnummer erhöht sich um 2 in jeder neuen Version von Visual Studio).

    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 einen Ordner auf dem Remotecomputer, der denselben Pfad hat wie der Ordner Debug auf Ihrem Visual Studio-Computer: <Quellpfad>\MyWPF\MyWPF\bin\Debug.

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

    Vorsicht

    Nehmen Sie keine Änderungen am Code vor, oder erstellen Sie den Code neu (oder Sie müssen diesen Schritt wiederholen). Die ausführbare Datei, die Sie auf den Remotecomputer kopiert haben, muss genau mit Ihrer lokalen Quelle und den lokalen Symbolen übereinstimmen.

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

  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 wie folgt aus.

    Screenshot des Remotedebuggerfensters für VS 2022.

    Screenshot des Remotedebuggerfensters für VS 2019.

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

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

    Die erforderlichen Anmeldeinformationen variieren je nach Sicherheitskonfiguration Ihres Netzwerks. Beispielsweise können Sie auf einem Domänencomputer Ihren Domänennamen und Ihr Kennwort eingeben. Auf einem Nicht-Domänencomputer können Sie den Computernamen und einen gültigen Benutzerkontonamen eingeben, z. B. MJO-DL\-name@something.com, zusammen mit dem richtigen Kennwort.

    Sie sollten sehen, dass das Hauptfenster der WPF-Anwendung auf dem Remotecomputer geöffnet ist.

  14. Nehmen Sie ggf. Maßnahmen zum Erreichen des Breakpoints vor. Es sollte angezeigt werden, dass der Haltepunkt aktiv ist. Falls dem nicht so ist, wurden die Symbole für die Anwendung nicht geladen. Versuchen Sie es erneut, und wenn dies nicht funktioniert, erhalten Sie Informationen zum Laden von Symbolsymbolen und zur Problembehandlung bei Grundlegendes zu Symboldateien und den Symboleinstellungen von Visual Studio.

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

    Wenn Sie Nicht-Codedateien haben, die von der Anwendung verwendet werden müssen, müssen Sie sie in das Visual Studio-Projekt einschließen. Erstellen Sie einen Projektordner für die zusätzlichen Dateien (klicken Sie im Projektmappen-Explorerauf > Neuen Ordner hinzufügen). Fügen Sie dann die Dateien dem Ordner hinzu (klicken Sie im Projektmappen-Explorerauf > Vorhandenes Element hinzufügen, 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 werden müssen, nicht nur auf einen Remotecomputer kopiert. Zum Remotedebugging können Sie eine entpackte Version der App bereitstellen.

Verwenden Sie eine der folgenden Methoden zum 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 unter Windows beschriebenen Schritte befolgen und dann die Schritte in diesem Artikel zum Remotedebuggen 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 launchSettings.json Datei manuell, und ersetzen Sie den wert commandNameProject durch 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.

    Anmerkung

    Sie können launchSettings.json im Dialogfeld "Debugstartprofil" nicht bearbeiten, nachdem Sie den Wert in MsixPackagegeändert haben.

Einrichten des Debuggens mit Remotesymbolen

Sie sollten den Code mit den Symbolen debuggen können, die Sie auf dem Visual Studio-Computer generieren. Die Leistung des Remotedebuggers ist viel besser, wenn Sie lokale Symbole verwenden. Wenn Sie Remotesymbole verwenden müssen, müssen Sie den Remotedebuggingmonitor anweisen, nach Symbolen auf dem Remotecomputer zu suchen.

Sie können den folgenden Msvsmon-Befehlszeilenschalter verwenden, um Remotesymbole für verwalteten Code zu verwenden: Msvsmon /FallbackLoadRemoteManagedPdbs

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