別のコンピューターに展開されているVisual Studio アプリケーションをデバッグできます。 これを行うには、Visual Studioリモート デバッガーを使用します。
リモート デバッグの詳細な手順については、次のトピックを参照してください。
| シナリオ | リンク |
|---|---|
| C# または Visual Basic | C# または Visual Basic プロジェクトをリモートでデバッグする |
| C++ | C++プロジェクトをリモートデバッグします |
| Azure App Service | Azure 上で ASP.NET Core をリモートデバッグするか、Visual Studio Enterprise の場合は、スナップショット デバッガーを使用します。 |
| ASP.NET | ASP.NET Core をリモートデバッグまたはASP.NET をリモートデバッグ |
| AZURE VM | Azure VM 上での ASP.NET のリモート デバッグ |
| Linux | プロセスにアタッチして SSH を使用して Linux 上のコアを .NETデバッグします |
| Docker | Docker コンテナー で実行されているプロセスにアタッチする |
| ユニバーサル Windows アプリ (UWP) | リモート コンピューターで UWP アプリを実行、またはインストールされているアプリ パッケージをデバッグ |
リモート デバッガーをダウンロードしてインストールするだけで、シナリオに追加の手順が必要ない場合は、この記事の手順に従ってください。
リモート ツールをダウンロードしてインストールする
Visual Studio コンピューターではなく、デバッグ対象のリモート デバイスまたはサーバーで、次の表のリンクから正しいバージョンのリモート ツールをダウンロードしてインストールします。
- Visual Studioのバージョンのリモート ツールの最新の更新プログラムをダウンロードします。 Visual Studio 2022 および 2026 用のリモート ツールは、どちらのバージョンのVisual Studioでも使用できます。 ただし、Visual Studio 2022 より前のバージョンのリモート ツールは、以降のVisual Studio バージョンと互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
- Visual Studioのバージョンのリモート ツールの最新の更新プログラムをダウンロードします。 以前のバージョンのリモート ツールは、以降のVisual Studio バージョンと互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
- リモート ツールをインストールするコンピューターと同じアーキテクチャでダウンロードします。 たとえば、x64 オペレーティング システムを実行しているリモート コンピューターで x86 アプリケーションをデバッグする場合は、x64 リモート ツールをインストールします。 ARM64 オペレーティング システムで x86、ARM、または x64 アプリケーションをデバッグするには、ARM64 リモート ツールをインストールします。
| バージョン | リンク | メモ |
|---|---|---|
| Visual Studio 2026 | リモート ツール | Visual Studio 2022 以降のバージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンのWindows Serverでは、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2022 | リモート ツール | Visual Studio 2022 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンのWindows Serverでは、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2019 | リモート ツール | Visual Studio 2019 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンのWindows Serverでは、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2017 | リモート ツール | Visual Studio 2017 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Serverで、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2015 | リモート ツール | Visual Studio 2015 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 Windows Serverで、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2013 | リモート ツール | Visual Studio 2013 ドキュメントのダウンロード ページ |
| Visual Studio 2012 | リモート ツール | Visual Studio 2012 ドキュメントのダウンロード ページ |
| バージョン | リンク | メモ |
|---|---|---|
| Visual Studio 2022 | リモート ツール | すべてのVisual Studio 2022 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンのWindows Serverでは、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2019 | リモート ツール | Visual Studio 2019 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンのWindows Serverでは、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2017 | リモート ツール | Visual Studio 2017 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Serverで、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| Visual Studio 2015 | リモート ツール | Visual Studio 2015 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、Visual Studio サブスクリプション ID でサインインします。 Windows Serverで、リモート ツールのダウンロードに関するヘルプについては、「Unblock the file download を参照してください。 |
| 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 を使用します。ARM は、Visual Studio 2015 リモート ツールのダウンロードでのみ使用できます。
- ARM64 オペレーティング システムで x64 アプリをデバッグするには、ARM64 リモート ツールと共にインストールされている x64 msvsmon.exe を実行します。
必要条件
システム要件
リモート ツールでは、Visual Studioと同じシステム要件がサポートされます。一部の変更があります。 詳細については、Visual Studioのバージョンのシステム要件を参照してください。
ネットワーク構成
リモート コンピューターとVisual Studio コンピューターは、ネットワーク、ワークグループ、またはホームグループ経由で接続するか、イーサネット ケーブルを介して直接接続する必要があります。 プロキシ経由で接続されている 2 台のコンピューター間のデバッグはサポートされていません。 ダイヤルアップ インターネットなどの待機時間の長い接続または低帯域幅の接続、または国/地域間のインターネット経由でのデバッグは推奨されず、失敗したり、許容できないほど遅くなったりする可能性があります。
(省略可能)ファイル共有からリモート デバッガーを実行するには
リモート デバッガー (msvsmon.exe) は、Visual Studio Community、Professional、または Enterprise が既にインストールされているコンピューター上にあります。 一部のシナリオでは、リモート デバッグを設定する最も簡単な方法は、ファイル共有からリモート デバッガー (msvsmon.exe) を実行することです。 使用制限については、リモート デバッガーのヘルプ ページ (> ヘルプ) を参照してください。
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
Visual Studio コンピューターで Remote Debugger フォルダーを共有します。
ヒント
コマンド ラインのインストールとコマンド ライン リファレンスについては、msvsmon.exeのヘルプ ページを参照してください。Visual Studioがインストールされているコンピューターのコマンド ラインに「msvsmon.exe /?」と入力します (または、リモート デバッガーで Help > Usage に移動します)。
リモート デバッガーを設定する
リモート コンピューターで、の [スタート] メニューから リモート デバッガー を見つけて起動します。
リモート コンピューターに対する管理アクセス許可がない場合は、リモート デバッガー アプリを右クリックし、[管理者 として実行]選択します。 それ以外の場合は、通常どおりに起動するだけです。
管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行しているプロセスにアタッチする場合は、リモート デバッガー アプリを右クリックし、[管理者として実行] 選択。 詳細については、「リモート デバッガーを管理者として実行する」を参照してください。
リモート デバッガーを初めて起動するとき (またはリモート デバッガーを構成する前)、リモート デバッグ構成 ウィザードが表示されます。
ほとんどのシナリオでは、[ リモート デバッグの構成] を選択します。
ほとんどのケースでは、「次へ」を選択し続けて、ウィザードの「Configure the Windows Firewall」ページに進みます。
リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、必要に応じて 2 番目または 3 番目の項目を選択します。
次に、[完了] を選択してリモート デバッガーを起動します。
構成が完了すると、リモート デバッガーの ウィンドウが表示されます。
これで、リモート デバッガーは接続を待機しています。 表示されているサーバー名とポート番号を使用して、Visual Studioでリモート接続の構成を設定します。
リモート デバッガーを停止するには、[ファイル] >選択します。 の [スタート] メニューまたはコマンド ラインから再起動できます。
<Remote debugger installation directory>\msvsmon.exe
リモート デバッガーを構成する
リモート デバッガーを初めて開始した後で、リモート デバッガーの構成の一部の側面を変更できます。
他のユーザーがリモート デバッガーに接続するためのアクセス許可を追加する必要がある場合は、[ツール] > [アクセス許可] 選択します。 アクセス許可を付与または拒否するには、管理者特権が必要です。
重要
リモート デバッガーは、Visual Studio コンピューターで使用しているユーザー アカウントとは異なるユーザー アカウントで実行できますが、リモート デバッガーのアクセス許可に別のユーザー アカウントを追加する必要があります。
または、コマンド ラインから /allow <username> パラメーター (msvsmon /allow <username@computer>) を使用してリモート デバッガーを起動することもできます。
認証モードまたはポート番号を変更する必要がある場合、またはリモート ツールのタイムアウト値を指定する必要がある場合は、[ツール] > [オプション] 選択します。
既定で使用されるポート番号の一覧については、「リモート デバッガーのポート割り当てを参照してください。
警告
リモート ツールは認証なしモードで実行することもできますが、このモードは強くお勧めしません。 このモードで実行する場合、ネットワーク セキュリティはありません。 ネットワークが悪意のあるトラフィックや敵対的なトラフィックの危険にさらされていないことを確認する場合にのみ、[認証なし] モードを選択します。
リモート デバッグ用にVisual Studioを構成する
Visual Studioからアプリに接続する詳細な手順については、この記事の冒頭にある特定のシナリオに関連するリンクを使用してください。
一部のシナリオでは、既に開始されているリモート アプリに接続するためにプロセスへのアタッチを使用する必要があります。 ただし、.NET Core、.NET 5 以降、.NET Framework、C++ アプリの場合は、プロジェクトのプロパティを構成し、デバッガーを起動することで、Visual Studioからリモート アプリを起動できます。 詳細については、「Remote debug a C# or Visual Basic project」または「Remote debug a C++ project」を参照してください。
また、Visual Studio プロジェクトに含まれていない実行可能ファイルをリモート デバッグすることもできますが、サポートされるデバッグ機能はシンボルの可用性などの構成によって異なります。 詳細については、「Visual Studio ソリューションの一部ではないアプリをデバッグするを参照してください。
(省略可能)リモート デバッガーをサービスとして構成する
ASP.NET やその他のサーバー環境でのデバッグの場合は、リモート デバッガーを管理者として実行するか、常に実行する場合は、リモート デバッガーをサービスとして実行する必要があります。
リモート デバッガーをサービスとして構成する場合は、次の手順に従います。
リモートデバッガー構成ウィザード (rdbgwiz.exe) を見つけます。 (これはリモート デバッガーとは別のアプリケーションです)。リモート ツールをインストールする場合にのみ使用できます。 Visual Studioと共にインストールされていません。
構成ウィザードの実行を開始します。 最初のページが表示されたら、[次 ] をクリックします。
サービスとしてVisual Studioリモート デバッガーを実行する チェック ボックスをオンにします。
ユーザー アカウントとパスワードの名前を追加します。
このアカウントに、[サービスとしてログオン] のユーザー権限を追加することが必要になる場合があります。[ローカル セキュリティ ポリシー] (secpol.msc) を [スタート] ページまたはウィンドウで見つけます (または、コマンド プロンプトで「secpol」と入力します)。 ウィンドウが表示されたら、[ユーザー権限の割り当て] をダブルクリックし、右ウィンドウで [サービスとしてログオン] を見つけます。 ダブルクリックします。 ユーザー アカウントを [プロパティ] ウィンドウに追加し、[OK] クリックします。 [次へ] をクリックします。
リモート ツールと通信するネットワークの種類を選択します。 少なくとも 1 つのネットワークの種類を選択する必要があります。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、2 番目または 3 番目の項目を選択する必要があります。 [次へ] をクリックします。
サービスを開始できる場合は、 Visual Studio リモート デバッガー構成ウィザードが正常に完了しましたが表示されます。 サービスを開始できない場合、Visual Studio リモート デバッガー構成ウィザードの完了に失敗しましたというメッセージが表示されます。 このページには、サービスを開始するためのヒントもいくつか示されています。
[完了] をクリックします。
この時点で、リモート デバッガーはサービスとして実行されています。 これを確認するには、コントロール パネル > Services に移動し、Visual Studio リモート デバッガーを探します。
リモート デバッガー サービスは、コントロール パネル > Services から停止して開始できます。
リモート シンボルを使用してデバッグを設定する
Visual Studio コンピューターで生成したシンボルを使用してコードをデバッグできる必要があります。 ローカル シンボルを使用すると、リモート デバッガーのパフォーマンスが大幅に向上します。 リモート シンボルを使用する必要がある場合は、リモート コンピューター上のシンボルを検索するようにリモート デバッグ モニターに指示する必要があります。
次の msvsmon コマンド ライン スイッチを使用して、マネージド コードにリモート シンボルを使用できます。Msvsmon /FallbackLoadRemoteManagedPdbs
詳細については、リモート デバッグのヘルプを参照してください (リモート デバッガー ウィンドウで F1 を押すか、[ヘルプ] > [使用法] クリックします)。
関連コンテンツ
- デバッガーを初めて見る
- リモート デバッグ用に Windows ファイアウォールを構成する
- リモートデバッガーポートの割り当て
- リモート IIS コンピューターでの ASP.NET Core のリモートデバッグ
- リモートデバッグエラーとトラブルシューティング