Remote Debugging

別のコンピューターに配置されている Visual Studio アプリケーションをデバッグすることができます。 このデバッグを行うには、Visual Studio リモート デバッガーを使用します。

リモート デバッグの詳細な手順については、次のトピックを参照してください。

シナリオ Link
Azure App Service Azure での ASP.NET Core のリモート デバッグ、または、Visual Studio Enterprise の場合は、スナップショット デバッガー
Azure VM Azure VM 上で ASP.NET をリモート デバッグする
Azure Service Fabric Azure Service Fabric アプリケーションのデバッグ
ASP.NET ASP.NET Core のリモート デバッグまたは ASP.NET のリモート デバッグ
C# または Visual Basic C# プロジェクトまたは Visual Basic プロジェクトのリモート デバッグ
C++ C++ Project プロジェクトのリモート デバッグ
ユニバーサル Windows アプリ (UWP) リモート コンピューターでの UWP アプリの実行またはインストールされているアプリ パッケージのデバッグ

リモート デバッガーをダウンロードしてインストールするだけで、シナリオに関する追加の手順が不要な場合は、この記事の手順に従ってください。

リモート ツールのダウンロードおよびインストール

Visual Studio マシンではなく、デバッグするリモート デバイスまたはサーバーで、次の表のリンクから適切なバージョンのリモート ツールをダウンロードしてインストールします。

  • ご使用のバージョンの Visual Studio に対応したリモート ツールの最新の更新版をダウンロードしてください。 以前のバージョンのリモート ツールは、以降のバージョンの Visual Studio と互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 用のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
  • インストール先のマシンと同じアーキテクチャを持つリモート ツールをダウンロードします。 たとえば、x64 オペレーティング システムを実行しているリモート コンピューター上で x86 アプリケーションをデバッグする場合は、x64 のリモート ツールをインストールします。 ARM64 オペレーティング システムで x86、ARM、または x64 アプリケーションをデバッグするには、ARM64 リモート ツールをインストールします。
バージョン Link メモ
Visual Studio 2022 リモート ツール すべてのバージョンの Visual Studio 2022 と互換性があります。 デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2019 リモート ツール すべてのバージョンの Visual Studio 2019 と互換性があります。 デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2017 リモート ツール すべてのバージョンの Visual Studio 2017 と互換性があります。 デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。 Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2015 リモート ツール Visual Studio 2015 用のリモート ツールは My.VisualStudio.com で入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、または Visual Studio サブスクリプション ID でサインインします。 Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2013 リモート ツール Visual Studio 2013 ドキュメントのダウンロード ページ
Visual Studio 2012 リモート ツール Visual Studio 2012 ドキュメントのダウンロード ページ
バージョン Link メモ
Visual Studio 2019 リモート ツール すべてのバージョンの Visual Studio 2019 と互換性があります。 デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。 Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。 最新バージョンのリモート ツールについては、Visual Studio 2022 ドキュメントを開きます。
Visual Studio 2017 リモート ツール すべてのバージョンの Visual Studio 2017 と互換性があります。 デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。 Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2015 リモート ツール Visual Studio 2015 用のリモート ツールは My.VisualStudio.com で入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、または Visual Studio サブスクリプション ID でサインインします。 Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。
Visual Studio 2013 リモート ツール Visual Studio 2013 ドキュメントのダウンロード ページ
Visual Studio 2012 リモート ツール Visual Studio 2012 ドキュメントのダウンロード ページ

リモート デバッガーを実行するには、リモート ツールをインストールするのではなく、msvsmon.exe をリモート コンピューターにコピーします。 ただし、リモート デバッガー構成ウィザード (rdbgwiz.exe) は、リモート ツールをインストールした場合にのみ使用できます。 リモート デバッガーをサービスとして実行する場合は、構成にウィザードの使用が必要になることがあります。 詳細については、「(オプション) リモート デバッガーをサービスとして構成する」を参照してください。

注意

  • ARM デバイスで Windows 10 以降のアプリをデバッグするには、最新バージョンのリモート ツールで使用できる ARM64 を使用します。
  • Windows RT デバイスで Windows 10 アプリをデバッグするには、ARM を使用します。これは、Visual Studio 2015 リモート ツールのダウンロードでのみ使用できます。
  • ARM64 オペレーティング システムで x64 アプリをデバッグするには、ARM64 リモート ツールと共にインストールされる x64 の msvsmon.exe を実行します。

要件

Supported Operating Systems

リモート コンピューターで次のいずれかのオペレーティング システムが実行されている必要があります。

  • Windows 11

  • Windows 10 (Phone 以外)

  • Windows 8 または 8.1 (Phone 以外)

  • Windows 7 Service Pack 1

  • Windows Server 2016

  • Windows Server 2012 または Windows Server 2012 R2

  • Windows Server 2008 Service Pack 2、Windows Server 2008 R2 Service Pack 1

注意

Windows Phone をデバッグするには、USB 接続が必要です (リモート ツールは必要ありません)。

サポートされているハードウェア構成

  • 1.6 GHz 以上の高速プロセッサ

  • 1 GB の RAM (仮想マシン上で実行されている場合は 1.5 GB)

  • 1 GB のハード ディスク空き容量

  • 5400 RPM のハード ドライブ

  • 1024 x 768 以上のディスプレイ解像度の DirectX 9 対応ビデオ カード

ネットワーク構成

リモート コンピューターと Visual Studio コンピューターは、ネットワーク、ワークグループ、またはホームグループを介して接続されているか、あるいはイーサネット ケーブルによって直接接続されている必要があります。 プロキシ経由で接続された 2 台のコンピューター間のデバッグはサポートされていません。 待機時間の長い接続や低帯域幅の接続 (ダイヤルアップ インターネットなど)、または国/地域をまたぐインターネット経由のデバッグは推奨されません。失敗したり、過度に低速になったりするおそれがあります。

(オプション) ファイル共有からリモート デバッガーを実行するには

リモート デバッガー (msvsmon.exe) は、Visual Studio Community、Professional、または Enterprise が既にインストールされているコンピューターにあります。 場合によっては、リモート デバッグをセットアップする最も簡単な方法は、ファイル共有からリモート デバッガー (msvsmon.exe) を実行することです。 使用に関する制限事項については、リモート デバッガーの [ヘルプ] ページ (リモート デバッガーの [ヘルプ] > [使用法]) を参照してください。

  1. お使いの Visual Studio のバージョンと一致するディレクトリで、の msvsmon.exe を見つけます。

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

  2. Visual Studio コンピューターでリモート デバッガー フォルダーを共有します。

  3. リモート コンピューターで、共有フォルダーから msvsmon.exe を実行します。 セットアップの手順に従います。

ヒント

コマンド ライン インストールおよびコマンド ライン参照については、Visual Studio がインストールされているコンピューターのコマンド ラインで「msvsmon.exe /?」と入力して、msvsmon.exe のヘルプ ページを参照してください (または、リモート デバッガーで [ヘルプ] > [使用法] に移動)。

リモート デバッガーのセットアップ

  1. リモート コンピューター上の [スタート] メニューで、 [リモート デバッガー] を見つけて起動します。

    リモート コンピューターに対する管理アクセス許可がない場合は、 [リモート デバッガー] アプリを右クリックし、 [管理者として実行] を選択します。 それ以外の場合は、通常どおり開始します。

    管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行されているプロセスにアタッチする場合は、 [リモート デバッガー] アプリを右クリックし、 [管理者として実行] を選択します。 詳細については、「管理者としてリモート デバッガーを実行する」を参照してください。

  2. リモート デバッガーを初めて (またはその構成を完了する前に) 開始すると、リモート デバッグ構成ウィザードが表示されます。

    ほとんどのシナリオでは、ウィザードの [Windows ファイアウォール の構成] ページが表示されるまで、[次へ] を選択します。

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    Windows Web Services API がインストールされていない場合 (これは、Windows Server 2008 R2 でのみ発生します) は、[インストール] ボタンを選択します。

  3. リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。 コンピューターがドメインを介して接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホーム グループを介して接続されている場合は、必要に応じて、2 番目または 3 番目の項目を選択します。

    次に、[完了] を選択してリモート デバッガーを起動します。

    次に、[リモート デバッグの構成] を選択してリモート デバッガーを起動します。

  4. 構成が完了すると、[リモート デバッガー] ウィンドウが表示されます。

    Screenshot of remote debugger window

    Screenshot of remote debugger window

    リモート デバッガーは接続を待機しています。 表示されているサーバー名とポート番号を使用して、Visual Studio でリモート接続構成を設定します。

リモート デバッガーを停止するには、 [ファイル]>[終了] を選択します。 リモート デバッガーを再起動するには、 [スタート] メニューを使用するか、またはコマンド ラインから次のコマンドを実行します。

<Remote debugger installation directory>\msvsmon.exe

リモート デバッガーの構成

リモート デバッガーを初めて起動した後、リモート デバッガーの構成の一部を変更できます。

  • 他のユーザーがリモート デバッガーに接続するためにアクセス許可を追加する必要がある場合は、[ツール] > [アクセス許可] を選択します。 アクセス許可を付与または拒否するには、管理者特権が必要です。

    重要

    リモート デバッガーは、Visual Studio コンピューターに対して使用しているユーザー アカウントとは別のユーザー アカウントで実行できますが、その場合、リモート デバッガーのアクセス許可に別のユーザー アカウントを追加する必要があります。

    または、コマンド ラインで /allow <username> パラメーターを使用してリモート デバッガーを開始できます: msvsmon /allow <username@computer>

  • 認証モードまたはポート番号を変更したり、リモート ツールのタイムアウト値を指定したりする必要がある場合は、[ツール] > [オプション] を選択します。

    既定で使用されるポート番号の一覧については、「リモート デバッガーのポートの割り当て」を参照してください。

    警告

    リモート ツールを認証なしモードで実行することも選択できますが、このモードの使用は避けることを強く推奨します。 このモードで実行した場合、ネットワーク セキュリティはまったく提供されません。 [認証なし] モードは、ネットワークに悪意のあるコードや悪意のあるトラフィックのリスクがないことが確実である場合にのみ選択してください。

(オプション) サービスとしてリモート デバッガーを構成する

ASP.NET および他のサーバー環境でのデバッグでは、リモート デバッガーを管理者として実行するか、常に実行する場合は、リモート デバッガーをサービスとして実行する必要があります。

リモート デバッガーをサービスとして構成する場合は、次の手順のようにします。

  1. リモート デバッガー構成ウィザード (rdbgwiz.exe) を見つけます (このアプリケーションは、リモート デバッガーとは別のアプリケーションです)。このアプリケーションは、リモート ツールをインストールした場合にのみ入手でき、 Visual Studio と共にはインストールされません。

  2. 構成ウィザードの実行を開始します。 最初のページが表示されたら、 [次へ]をクリックします。

  3. [Visual Studio リモート デバッガー サービスを実行する] チェック ボックスをオンにします。

  4. ユーザー アカウントの名前とパスワードを追加します。

    このアカウントに、[サービスとしてログオン] のユーザー権限を追加することが必要になる場合があります。[ローカル セキュリティ ポリシー] (secpol.msc) を [スタート] ページまたはウィンドウで見つけます (または、コマンド プロンプトで「secpol」と入力します)。 ウィンドウが表示されたら、 [ユーザー権利の割り当て]をダブルクリックし、右ペインで [サービスとしてログオン] を見つけます。 これをダブルクリックします。 ユーザー アカウントを [プロパティ] ウィンドウに追加して [OK] をクリックします)。 [次へ] をクリックします。

  5. リモート ツールが通信するネットワークの種類を選択します。 少なくとも 1 つのネットワークの種類を選択する必要があります。 コンピューターがドメインを介して接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホーム グループを介して接続されている場合は、2 番目または 3 番目の項目を選択する必要があります。 [次へ] をクリックします。

  6. サービスを開始できた場合は、「 Visual Studio リモート デバッガー構成ウィザードは正常に完了しました」と表示されます。 サービスを開始できなかった場合は、「 Visual Studio リモート デバッガー構成ウィザードを完了できませんでした」と表示されます。 このページには、サービスを開始するために従う必要があるヒントもいくつか提供されます。

  7. [完了] をクリックします。

    この時点で、リモート デバッガーはサービスとして実行されています。 これを確認するには、[コントロール パネル] > [サービス] に移動して [Visual Studio リモート デバッガー] を探します。

    リモート デバッガー サービスは、[コントロール パネル] > [サービス] で停止してから開始することができます。

リモート シンボルを使用したデバッグのセットアップ

Visual Studio コンピューターで生成したシンボルを使用して、コードをデバッグすることができます。 リモート デバッガーのパフォーマンスは、ローカル シンボルを使用すると大幅に向上します。 リモート シンボルを使用する必要がある場合、リモート マシン上のシンボルを探すように、リモート デバッグ モニターに指示する必要があります。

次の msvsmon コマンドライン スイッチを使用して、マネージド コードにリモート シンボルを使用できます: Msvsmon /FallbackLoadRemoteManagedPdbs

詳細については、リモート デバッグのヘルプ (リモート デバッガーのウィンドウで F1 キーを押すか、[ヘルプ] > [使い方] の順にクリックします) を参照してください。