リモート デバッガーのポートの割り当て
Visual Studio リモート デバッガーは、アプリケーションまたはバック グラウンド サービスとして実行できます。 アプリケーションとして実行される際には、次のように既定で割り当てられているポートを使用します。
Visual Studio 2022: 4026
Visual Studio 2019: 4024
Visual Studio 2017: 4022
Visual Studio 2015: 4020
Visual Studio 2013: 4018
Visual Studio 2012: 4016
つまり、リモート デバッガーに割り当てられるポート番号はリリースごとに 2 つずつ増えます。 必要であれば、別のポート番号を設定できます。 ポート番号の設定方法は、後のセクションで説明します。
32 ビット オペレーティング システムのリモート デバッガーのポート
TCP 4026 (Visual Studio 2022 の場合) がメイン ポートであり、Azure App Service を除くすべてのシナリオにこれが必要です。 このポートは、コマンド ラインまたはリモート デバッガー ウィンドウのいずれかから構成できます。
TCP 4024 (Visual Studio 2019 の場合) がメイン ポートであり、すべてのシナリオにこれが必要です。 このポートは、コマンド ラインまたはリモート デバッガー ウィンドウのいずれかから構成できます。
リモート デバッガー ウィンドウでは、[ツール] > [オプション] をクリックし、TCP/IP ポート番号を設定します。
コマンド ラインでは、/port スイッチを使用して「msvsmon /port <ポート番号>」と入力して、リモート デバッガーを開始します。
リモート デバッグのヘルプに、リモート デバッガーのすべてのコマンド ライン スイッチが記載されています (リモート デバッガー ウィンドウで F1 キーを押すか、または [ヘルプ] > [使い方] をクリックします)。
64 ビット オペレーティング システムのリモート デバッガーのポート
64 ビット バージョンのリモート デバッガーを開始すると、既定でメイン ポート (4026) が使用されます。 32 ビット プロセスをデバッグする場合は、ほとんどのケースで、64 ビット バージョンのリモート デバッガーにより、ポート 4025 で 32 ビット バージョンのリモート デバッガーが開始されます。 32 ビットのリモート デバッガーを実行する場合は、4026 が使用され、4025 は使用されません。 これに対する例外として、Remote Tools for Visual Studio 2022 バージョン 17.2 以降がインストールされていて、リモート デバッガー構成ウィザードを使ってリモート デバッガーをサービスとして起動する場合、既定の 32 ビット デバッグ ポートは 4025 ではなく 4040 になります。
64 ビット バージョンのリモート デバッガーを開始すると、既定でメイン ポート (4024) が使用されます。 32 ビット プロセスをデバッグする場合は、64 ビット バージョンのリモート デバッガーにより、ポート 4025 (メイン ポート番号から 1 増分される) で 32 ビット バージョンのリモート デバッガーが開始されます。 32 ビットのリモート デバッガーを実行する場合は、4024 が使用され、4025 は使用されません。
このポートは、次のように入力して、コマンド ラインから構成できます: Msvsmon /wow64port <ポート番号>。
Microsoft Azure App Service のリモート デバッガー ポート
リモート デバッガー ポートは構成可能です。 現在、Azure App Service では、お使いの Visual Studio バージョンに関連付けられている既定のポートは使用されません。 Azure App Service では、リモート デバッガーにポート 4024 が使用されます。
検出ポート
実行中のリモート デバッガーのインスタンスをネットワークで検出するには (たとえば、 [プロセスにアタッチ] ダイアログの [検索] ダイアログ)、UDP 3702 が使用されます。 これが使用されるのは、リモート デバッガーを実行しているコンピューターを検出する場合だけです。つまり、ターゲット コンピューターのコンピューター名または IP アドレスが他の方法でわかれば省略できます。 このポートは検出用の標準ポートなので、構成することはできません。
検出ポートは、送信ポート (アウトバウンド規則) として開く必要があります。
検出を有効にしない場合は、コマンド ラインから検出を無効にして msvsmon を開始できます。次のように入力します: Msvsmon /nodiscovery。