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
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.
Wählen Sie für einen neuen Eingangsport zuerst Eingangsregeln und dann Neue Regel aus. Bei einem Ausgangsport wählen Sie stattdessen Ausgangsregeln aus.
Wählen Sie im Assistent für neue eingehende Regel zuerst Port und dann Weiter aus.
Wählen Sie in Abhängigkeit von der Portnummer aus den folgenden Tabellen entweder TCP oder UDPaus.
Geben Sie unter Bestimmte lokale Ports eine Portnummer aus den folgenden Tabellen ein, und wählen Sie Weiter aus.
Wählen Sie Verbindung zulassen und dann Weiter aus.
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.
Fügen Sie einen Namen für die Regel hinzu (z. B
msvsmon
,IIS
oderWeb 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 (Internetinformationsdienste) ö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.
Zulassen des Remotedebuggers über die Windows-Firewall
Wenn Sie den Remotedebugger konfigurieren, sollte die Konfigurationssoftware die richtigen Ports öffnen. In einigen Szenarien müssen Sie den Remotedebugger jedoch möglicherweise manuell über die Firewall zulassen.
Zulassen des Remotedebuggers über die Windows-Firewall:
Suchen Sie im Windows-Menü Start nach Windows-Firewall oder Windows Defender Firewall.
Wählen Sie Apps über die Windows-Firewall kommunizieren lassen aus.
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.
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.
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.
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.