リモート デバッグ
別のコンピューターに展開されている 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 | ASP.NET を Azure VM でリモートデバッグ する |
Linux | プロセス にアタッチして SSH を使用して Linux 上の .NET Core をデバッグする |
ドッカー | Docker コンテナー で実行されているプロセスにアタッチする |
ユニバーサル 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 リモート ツールをインストールします。
バージョン | リンク | メモ |
---|---|---|
Visual Studio 2022 | リモート ツール | すべての Visual Studio 2022 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server では、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。 |
Visual Studio 2019 | リモート ツール | Visual Studio 2019 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 以前のバージョンの Windows Server では、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。 |
Visual Studio 2017 | リモート ツール | Visual Studio 2017 のリモート ツールは、My.VisualStudio.com から入手できます。 メッセージが表示されたら、Visual Studio Dev Essentials プログラム 無料で参加するか、Visual Studio サブスクリプション ID でサインインします。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または 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 ドキュメントのダウンロード ページ |
バージョン | リンク | メモ |
---|---|---|
Visual Studio 2019 | リモート ツール | すべての Visual Studio 2019 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または ARM64) に一致するバージョンをダウンロードします。 Windows Server で、リモート ツールのダウンロードに関するヘルプについては、「ファイルのダウンロード のブロックを解除する」を参照してください。 最新バージョンのリモート ツールについては、Visual Studio 2022 ドキュメントを開きます。 |
Visual Studio 2017 | リモート ツール | すべての Visual Studio 2017 バージョンと互換性があります。 デバイスのオペレーティング システム (x86、x64 (AMD64)、または 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 を使用します。ARM は、Visual Studio 2015 リモート ツールのダウンロードでのみ使用できます。
- ARM64 オペレーティング システムで x64 アプリをデバッグするには、ARM64 リモート ツールと共にインストールされている x64 msvsmon.exe を実行します。
必要条件
サポートされているオペレーティング システム
リモート コンピューターは、次のいずれかのオペレーティング システムを実行している必要があります。
Windows 11
Windows 10 (電話ではない)
Windows 8 または 8.1 (電話ではない)
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
サポートされているハードウェア構成
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) を実行することです。 使用制限については、リモート デバッガーのヘルプ ページ (リモート デバッガーの使用状況> ヘルプ) を参照してください。
お使いのバージョンの Visual Studio に一致するディレクトリ内の msvsmon.exe を見つけます。
プログラム ファイル\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
Visual Studio コンピューター上の リモート デバッガー フォルダーを共有します。
ヒント
コマンド ラインのインストールとコマンド ライン リファレンスについては、Visual Studio がインストールされているコンピューターのコマンド ラインに「msvsmon.exe /?
」と入力して msvsmon.exe のヘルプ ページを参照してください (または、リモート デバッガーの ヘルプ > 使用法 に移動します)。
リモート デバッガーを設定する
リモート コンピューターで、の [スタート] メニューから リモート デバッガー を見つけて起動します。
リモート コンピューターに対する管理アクセス許可がない場合は、リモート デバッガー アプリを右クリックし、[管理者 として実行]選択します。 それ以外の場合は、通常どおりに起動するだけです。
管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行しているプロセスにアタッチする場合は、リモート デバッガー アプリを右クリックし、[管理者として実行] 選択。 詳細については、「リモート デバッガーを管理者として実行する」を参照してください。
リモート デバッガーを初めて起動するとき (またはリモート デバッガーを構成する前)、リモート デバッグ構成 ウィザードが表示されます。
ほとんどのシナリオでは、ウィザードの [Windows ファイアウォール の構成] ページに移動するまで、[次の ] を選択します。
Windows Web サービス API がインストールされていない場合、これは Windows Server 2008 R2 でのみ発生するため、[インストール] ボタンを選択してください。
リモート ツールを使用するネットワークの種類を少なくとも 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 からリモート アプリを起動できます。 詳細については、「C# または Visual Basic プロジェクト をリモート デバッグする」または「C++ プロジェクトをリモート デバッグする」を参照してください。
Visual Studio プロジェクトに含まれていない実行可能ファイルをリモート デバッグすることもできますが、サポートされているデバッグ機能はシンボルの可用性などの構成によって異なります。 詳細については、「Visual Studio ソリューションの一部ではないアプリをデバッグする」を参照してください。
(省略可能)リモート デバッガーをサービスとして構成する
ASP.NET やその他のサーバー環境でのデバッグの場合は、リモート デバッガーを管理者として実行するか、常に実行する場合は、リモート デバッガーをサービスとして実行する必要があります。
リモート デバッガーをサービスとして構成する場合は、次の手順に従います。
リモートデバッガー構成ウィザード (rdbgwiz.exe) を見つけます。 (これはリモート デバッガーとは別のアプリケーションです)。リモート ツールをインストールする場合にのみ使用できます。 Visual Studio にはインストールされません。
構成ウィザードの実行を開始します。 最初のページが表示されたら、[次 ] をクリックします。
Visual Studio リモート デバッガーをサービスとして実行 チェック ボックスをオンにします。
ユーザー アカウントとパスワードの名前を追加します。
このアカウントに、[サービスとしてログオン] のユーザー権限を追加することが必要になる場合があります。[ローカル セキュリティ ポリシー] (secpol.msc) を [スタート] ページまたはウィンドウで見つけます (または、コマンド プロンプトで「secpol」と入力します)。 ウィンドウが表示されたら、[ユーザー権限の割り当て] をダブルクリックし、右ウィンドウで [サービスとしてログオン] を見つけます。 ダブルクリックします。 ユーザー アカウントを [プロパティ] ウィンドウに追加し、[OK] クリックします。 [次] をクリックします。
リモート ツールと通信するネットワークの種類を選択します。 少なくとも 1 つのネットワークの種類を選択する必要があります。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、2 番目または 3 番目の項目を選択する必要があります。 [次] をクリックします。
サービスを開始できる場合は、Visual Studio リモート デバッガー構成ウィザード が正常に完了したが表示されます。 サービスを開始できない場合は、Visual Studio リモート デバッガー構成ウィザードの を完了できませんでしたが表示されます。 このページには、サービスを開始するためのヒントもいくつか示されています。
[完了] をクリックします。
この時点で、リモート デバッガーはサービスとして実行されています。 これを確認するには、[コントロール パネル] > [サービス] 移動し、Visual Studio リモート デバッガー を探します。
リモート デバッガー サービスは、[コントロール パネル] > の [サービス]から開始および停止できます。
リモート シンボルを使用してデバッグを設定する
Visual Studio コンピューターで生成したシンボルを使用してコードをデバッグできる必要があります。 ローカル シンボルを使用すると、リモート デバッガーのパフォーマンスが大幅に向上します。 リモート シンボルを使用する必要がある場合は、リモート コンピューター上のシンボルを検索するようにリモート デバッグ モニターに指示する必要があります。
次の msvsmon コマンド ライン スイッチを使用して、マネージド コードにリモート シンボルを使用できます。Msvsmon /FallbackLoadRemoteManagedPdbs
詳細については、リモート デバッグのヘルプを参照してください (リモート デバッガー ウィンドウで F1 を押すか、[ヘルプ] > [使用法] クリックします)。
関連コンテンツ
- デバッガーを初めて見る
- リモート デバッグ用の Windows ファイアウォールの構成
- リモート デバッガー ポートの割り当て
- リモート IIS コンピューター での ASP.NET Core のリモートデバッグ
- リモートデバッグエラーと のトラブルシューティング