Konfigurieren der Windows-Firewall für das Remotedebuggen

In einem von der Windows-Firewall geschützten Netzwerk muss die Firewall entsprechend konfiguriert werden, damit Remotedebuggen zulässig ist. Visual Studio und die Remotedebugtools versuchen, bei der Installation oder beim Start die richtigen Firewallports zu öffnen. Möglicherweise müssen Sie aber auch manuell Ports öffnen oder Apps zulassen.

In diesem Thema wird beschrieben, wie Sie die Windows-Firewall konfigurieren, um das Remotedebuggen unter Windows 10, Windows 8 bzw. 8.1 und Windows 7 sowie auf Computern mit Windows Server 2012 R2, 2012 und 2008 R2 zu ermöglichen. Auf dem Visual Studio-Computer und dem Remotecomputer muss nicht das gleiche Betriebssystem ausgeführt werden. Zum Beispiel kann auf dem Visual Studio-Computer Windows 11 und auf dem Remotecomputer Windows Server 2012 R2 ausgeführt werden.

Hinweis

Die Anweisungen zum Konfigurieren der Windows-Firewall unterscheiden sich geringfügig bei den verschiedenen Betriebssystemen und älteren Windows-Versionen. In den Einstellungen für Windows 8/8.1, Windows 10 und neuere Versionen und Windows Server 2012 wird das Wort App verwendet, während Windows 7 und Windows Server 2008 den Begriff Programm verwenden.

Konfigurieren von Ports für das Remotedebuggen

Visual Studio und der Remotedebugger versuchen, bei der Installation oder beim Start die richtigen Ports zu öffnen. In einigen Szenarien, z. B. bei einer Drittanbieter Firewall, müssen Sie Ports möglicherweise manuell öffnen.

So öffnen Sie einen Port

  1. Suchen Sie im Windows-Menü Start nach Windows-Firewall mit erweiterter Sicherheit, und öffnen Sie diesen Eintrag. Ab Windows 10 heißt sie Windows Defender Firewall mit erweiterter Sicherheit.

  2. Wählen Sie für einen neuen Eingangsport zuerst Eingangsregeln und dann Neue Regel aus. Bei einem Ausgangsport wählen Sie stattdessen Ausgangsregeln aus.

  3. Wählen Sie im Assistent für neue eingehende Regel zuerst Port und dann Weiter aus.

  4. Wählen Sie in Abhängigkeit von der Portnummer aus den folgenden Tabellen entweder TCP oder UDPaus.

  5. Geben Sie unter Bestimmte lokale Ports eine Portnummer aus den folgenden Tabellen ein, und wählen Sie Weiter aus.

  6. Wählen Sie Verbindung zulassen und dann Weiter aus.

  7. Wählen Sie einen oder mehrere Netzwerktypen aus, die aktiviert werden sollen (darunter auch den Netzwerktyp für die Remoteverbindung), und wählen Sie dann Weiter aus.

  8. Fügen Sie einen Namen für die Regel hinzu (z. B msvsmon, IIS oder Web Deploy), und wählen Sie dann Fertigstellen aus.

    Daraufhin sollte die neue Regel in der Liste Eingangsregeln bzw. Ausgangsregeln angezeigt werden und ausgewählt sein.

So öffnen Sie einen Port mithilfe von PowerShell:

Für die Windows-Firewall können Sie PowerShell-Befehle wie New-NetFirewallRule verwenden.

Das folgende Beispiel öffnet Port 4026 für den Remotedebugger auf dem Remotecomputer. Möglicherweise müssen Sie einen anderen Port und Pfad verwenden.

New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4026 -Protocol TCP -Authentication Required -Action Allow

Im folgenden Beispiel wird Port 4024 für den Remotedebugger auf dem Remotecomputer geöffnet. Möglicherweise müssen Sie einen anderen Pfad verwenden.

New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4024 -Protocol TCP -Authentication Required -Action Allow

Ports auf dem Remotecomputer, die das Remotedebuggen ermöglichen

Für das Remotedebuggen müssen auf dem Remotecomputer die folgenden Ports geöffnet sein:

Ports Eingehend/Ausgehend Protokoll Beschreibung
4026 Eingehend TCP Für Visual Studio 2022. Weitere Informationen finden Sie unter Visual Studio remote debugger port assignments (Visual Studio-Remotedebugger – Portzuweisungen).
4025 Eingehend TCP Für Visual Studio 2022 und Microsoft Azure App Service. Dieser Port wird nur zum Remotedebuggen eines 32-Bit-Prozesses von einer 64-Bit-Version des Remotedebuggers verwendet. Weitere Informationen finden Sie unter Visual Studio remote debugger port assignments (Visual Studio-Remotedebugger – Portzuweisungen).
4024 Eingehend TCP Für Microsoft Azure App Service. Weitere Informationen finden Sie unter Visual Studio remote debugger port assignments (Visual Studio-Remotedebugger – Portzuweisungen).
3702 Ausgehend UDP (Optional) Erforderlich für die Ermittlung des Remotedebuggers.
Ports Eingehend/Ausgehend Protokoll Beschreibung
4024 Eingehend TCP Für Visual Studio 2019 und Microsoft Azure App Service. Die Portnummer wird für jede Visual Studio-Version um 2 erhöht. Weitere Informationen finden Sie unter Visual Studio remote debugger port assignments (Visual Studio-Remotedebugger – Portzuweisungen).
4025 Eingehend TCP Für Visual Studio 2019 und Azure App Service. Dieser Port wird nur zum Remotedebuggen eines 32-Bit-Prozesses von einer 64-Bit-Version des Remotedebuggers verwendet. Weitere Informationen finden Sie unter Visual Studio remote debugger port assignments (Visual Studio-Remotedebugger – Portzuweisungen).
3702 Ausgehend UDP (Optional) Erforderlich für die Ermittlung des Remotedebuggers.

Wenn Sie Verwalteten Kompatibilitätsmodus verwenden unter Tools>Optionen>Debugging auswählen, öffnen Sie die folgenden zusätzlichen Remotedebuggerports. Mit dem verwalteten Kompatibilitätsmodus des Debuggers aktivieren Sie die ältere Visual Studio 2010-Version des Debuggers.

Ports Eingehend/Ausgehend Protokoll Beschreibung
135, 139, 445 Ausgehend TCP Erforderlich.
137, 138 Ausgehend UDP Erforderlich.

Wenn Ihre Domänenrichtlinie vorschreibt, dass die Netzwerkkommunikation über Internetprotokollsicherheit (Internet Protocol Security, IPSec) erfolgen muss, müssen Sie sowohl auf dem Visual Studio- als auch auf dem Remotecomputer zusätzliche Ports öffnen. Zum Debuggen auf einem IIS-Remotewebserver öffnen Sie Port 80 auf dem Remotecomputer.

Ports Eingehend/Ausgehend Protokoll Beschreibung
500, 4500 Ausgehend UDP Erforderlich, wenn die Domänenrichtlinie die Netzwerkkommunikation über IPSec vorschreibt.
80 Ausgehend TCP Erforderlich für das Webserverdebuggen.

Informationen zum Zulassen bestimmter Apps über die Windows-Firewall finden Sie unter Konfigurieren des Remotedebuggens über die Windows-Firewall.

Konfigurieren des Remotedebuggens über die Windows-Firewall

Sie können die Remotedebugtools auf dem Remotecomputer installieren oder sie aus einem freigegebenen Ordner ausführen. In beiden Fällen muss die Firewall des Remotecomputers ordnungsgemäß konfiguriert sein.

Auf einem Remotecomputer befinden sich die Remotedebugtools in folgendem Pfad:

<Visual Studio-Installationsverzeichnis>\Common7\IDE\Remote Debugger\<x86, x64 oder Appx>

Zulassen und Konfigurieren des Remotedebuggers über die Windows-Firewall

  1. Suchen Sie im Windows-Menü Start nach Windows-Firewall oder Windows Defender Firewall.

  2. Wählen Sie Apps über die Windows-Firewall kommunizieren lassen aus.

  3. Wenn unter Zulässige Apps und Features die Option Remotedebugger bzw. Visual Studio-Remotedebugger nicht angezeigt wird, wählen Sie Einstellungen ändern und dann Andere App zulassen aus.

  4. Wenn die Remotedebugger-App im Dialogfeld App hinzufügen nicht aufgeführt ist, wählen Sie Durchsuchen aus, und navigieren Sie in Abhängigkeit von der jeweiligen Architektur für Ihre App zu <Visual Studio-Installationsverzeichnis>\Common7IDERemote Debugger\<x86, x64 oder AppX>. Wählen Sie msvsmon.exe und dann Hinzufügen aus.

  5. Wählen Sie in der Liste Apps den Remotedebugger aus, den Sie soeben hinzugefügt haben. Wählen Sie Netzwerktypen aus, und wählen Sie dann einen oder mehrere Netzwerktypen aus, die aktiviert werden sollen, darunter auch den Netzwerktyp für die Remoteverbindung.

  6. Klicken Sie auf Hinzufügen und dann auf OK.

Problembehandlung der Remotedebugverbindung

Wenn Sie den Remotedebugger nicht an Ihre App anfügen können, stellen Sie sicher, dass Firewallports, Protokolle, Netzwerktypen und App-Einstellungen für das Remotedebuggen korrekt sind.

  • Suchen Sie im Windows-Menü Start nach Windows-Firewall, öffnen Sie diese Option, und wählen Sie Apps über die Windows-Firewall kommunizieren lassen aus. Stellen Sie sicher, dass in der Liste Zulässige Apps und Features das Kontrollkästchen für Remotedebugger bzw. Visual Studio-Remotedebugger aktiviert ist und die richtigen Netzwerktypen ausgewählt sind. Andernfalls müssen Sie die richtigen Apps und Einstellungen hinzufügen.

  • Suchen Sie im Windows-Menü Start nach Windows-Firewall mit erweiterter Sicherheit, und öffnen Sie diesen Eintrag. Stellen Sie sicher, dass Remotedebugger bzw. Visual Studio-Remotedebugger unter Eingangsregeln (und optional unter Ausgangsregeln) mit einem grünen Häkchen versehen ist und alle Einstellungen richtig sind.

    • Um die Regeleinstellungen anzuzeigen oder zu ändern, klicken Sie in der Liste mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Eigenschaften aus. Verwenden Sie die Registerkarte Eigenschaften, um die Regel zu aktivieren oder zu deaktivieren, oder ändern Sie Portnummern, Protokolle oder Netzwerktypen.
    • Wenn die Remotedebugger-App in der Regelliste nicht angezeigt wird, müssen Sie die richtigen Ports hinzufügen und konfigurieren.