Visual Studio での C++ プロジェクトのリモート デバッグ
別のコンピューターで Visual Studio アプリケーションをデバッグするには、アプリを展開するコンピューターにリモート ツールをインストールして実行し、Visual Studio からリモート コンピューターに接続するようにプロジェクトを構成してから、アプリを展開して実行します。
リモートデバッガーコンポーネント
ユニバーサル Windows アプリ (UWP) のリモート デバッグの詳細については、「インストールされているアプリ パッケージ をデバッグするを参照してください。
必要条件
リモート デバッガーは、Windows 7 以降および Windows Server 2008 Service Pack 2 以降のバージョンの Windows Server でサポートされています。 要件の完全な一覧については、「要件」を参照してください。
手記
プロキシ経由で接続されている 2 台のコンピューター間のデバッグはサポートされていません。 ダイヤルアップ インターネットなどの待機時間の長い接続または低帯域幅の接続、または国/地域間のインターネット経由でのデバッグは推奨されず、失敗したり、許容できないほど遅くなったりする可能性があります。
リモート ツールをダウンロードしてインストールする
Visual Studio コンピューターではなく、デバッグ対象のリモート デバイスまたはサーバーで、次の表のリンクから正しいバージョンのリモート ツールをダウンロードしてインストールします。
- お使いのバージョンの Visual Studio 用の最新のリモート ツールをダウンロードします。 最新のリモート ツール バージョンは以前の Visual Studio バージョンと互換性がありますが、以前のバージョンのリモート ツールは、それ以降のバージョンの Visual Studio と互換性がありません。 (たとえば、Visual Studio 2019 を使用している場合は、Visual Studio 2019 のリモート ツールの最新の更新プログラムをダウンロードします。このシナリオでは、Visual Studio 2022 用のリモート ツールをダウンロードしないでください)。
- リモート ツールをインストールするコンピューターと同じアーキテクチャでダウンロードします。 たとえば、64 ビット オペレーティング システムを実行しているリモート コンピューターで 32 ビット アプリをデバッグする場合は、64 ビット リモート ツールをインストールします。
- ARM64 デバイスでARM64EC アプリケーションをリモート デバッグする場合は、ARM64 リモート ツールをインストールしてから、それらのツールと共にインストールされる x64 リモート デバッガーを起動します。 これは、Program Files (x86)\Microsoft Visual Studio<バージョン>\Common7\IDE\Remote Debugger\x64にあります。
バージョン | リンク | ノート |
---|---|---|
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 リモート ツールのダウンロードでのみ使用できます。
ヒント
一部のシナリオでは、ファイル共有からリモート デバッガーを実行するのが最も効率的な場合があります。 詳細については、「ファイル共有からリモート デバッガーを実行する」を参照してください。
リモート デバッガーを設定する
リモート コンピューターで、の [スタート] メニューから リモート デバッガー を見つけて起動します。
リモート コンピューターに対する管理アクセス許可がない場合は、リモート デバッガー アプリを右クリックし、[管理者 として実行]選択します。 それ以外の場合は、通常どおりに起動するだけです。
管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行しているプロセスにアタッチする場合は、リモート デバッガー アプリを右クリックし、[管理者として実行] 選択。 詳細については、「リモート デバッガーを管理者として実行する」を参照してください。
リモート デバッガーを初めて起動するとき (またはリモート デバッガーを構成する前)、リモート デバッグ構成 ウィザードが表示されます。
ほとんどのシナリオでは、ウィザードの [Windows ファイアウォール の構成] ページに移動するまで、[次の ] を選択します。
Windows Web Services API がインストールされていない場合(これは Windows Server 2008 R2 でのみ発生します)、[インストール] ボタンを選択します。
リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。 コンピューターがドメイン経由で接続されている場合は、最初の項目を選択する必要があります。 コンピューターがワークグループまたはホームグループ経由で接続されている場合は、必要に応じて 2 番目または 3 番目の項目を選択します。
次に、[完了] を選択してリモート デバッガーを起動します。
次に、リモート デバッグ の構成を選択してリモート デバッガーを起動します。
構成が完了すると、リモート デバッガーの ウィンドウが表示されます。
これで、リモート デバッガーは接続を待機しています。 表示されているサーバー名とポート番号を使用して、Visual Studio でリモート接続の構成を設定します。
リモート デバッガーを停止するには、[ファイル] >[終了]選択します。 の [スタート] メニューまたはコマンド ラインから再起動できます。
<Remote debugger installation directory>\msvsmon.exe
手記
追加のユーザーのアクセス許可を追加する必要がある場合は、リモート デバッガーの認証モードまたはポート番号を変更する リモート デバッガーを構成するを参照してください。
C++ プロジェクトのリモート デバッグ
次の手順では、プロジェクトのパスは C:\remotetemp で、リモート コンピューターの名前は MySurface です。
CppConsoleApp 名前の C++ コンソール アプリケーションを作成する
アプリケーション内で簡単にアクセスできる場所にブレークポイントを設定しましょう。例えば、
main
関数が含まれている CppConsoleApp.cppが良いでしょう。ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロパティ] 選択します。 デバッグ タブを開きます。
[起動するデバッガー] を [リモート Windows デバッガー] に設定します。
プロパティに次の変更を加えます。
設定 価値 リモート コマンド C:\remotetemp\CppConsoleApp.exe 作業ディレクトリ C:\remotetemp リモート サーバー名 MySurface:portnumber 接続 Windows 認証を用いたリモート接続 デバッガーの種類 ネイティブのみ 展開ディレクトリ C:\remotetemp 展開するその他のファイル $(ProjectDir)\data 追加のフォルダーを展開し、フォルダー内のすべてのファイルを同じフォルダーに展開する場合は、フォルダー名を指定します。
プロパティの詳細については、「C++ デバッグ構成のプロジェクト設定」を参照してください。
ソリューション エクスプローラーで、ソリューションを右クリックし、Configuration Manager 選択します。
デバッグ 構成の場合は、[展開] チェック ボックスをオンにします。
デバッグを開始 (デバッグ > デバッグを開始), または (F5).
実行可能ファイルは、リモート コンピューターに自動的に展開されます。
メッセージが表示されたら、ネットワーク資格情報を入力してリモート コンピューターに接続します。
必要な資格情報は、ネットワークのセキュリティ構成に固有です。 たとえば、ドメイン コンピューターでは、セキュリティ証明書を選択するか、ドメイン名とパスワードを入力します。 ドメイン以外のコンピューターでは、正しいパスワードと共に、コンピューター名と有効なユーザー アカウント名 (MySurface\name@something.comなど) を入力できます。
Visual Studio コンピューターでは、ブレークポイントで実行が停止していることがわかります。
ヒント
または、別の手順としてファイルをデプロイすることもできます。 ソリューション エクスプローラーで、プロジェクト ノードを右クリックして [配置] を選択します。
アプリケーションに必要なコード以外のファイルがある場合は、[リモート Windows デバッガー] が選択された [デバッガー] プロパティ ページで [追加の配置ファイル] にあるセミコロン区切りのリストで指定できます。
または、プロジェクトにファイルを含め、各ファイルの [プロパティ] ページで [コンテンツ プロパティを [はい] に設定することもできます。 これらのファイルは、[リモート Windows デバッガー] が選択された [デバッガー] プロパティ ページで指定した [配置ディレクトリ] にコピーされます。 あなたは、項目タイプ を ファイルのコピー に変更し、ファイルを 展開ディレクトリのサブフォルダーにコピーしたい場合は、追加のプロパティを指定することもできます。
リモート シンボルを使用したデバッグの設定
Visual Studio コンピューターで生成したシンボルを使用してコードをデバッグできる必要があります。 ローカル シンボルを使用すると、リモート デバッガーのパフォーマンスが大幅に向上します。
リモート シンボルを使用する必要がある場合は、Visual Studio で Windows ファイル共有をシンボル検索パスに追加して、ツール > オプション > デバッグ > シンボルでリモート シンボルを指定する必要があります。
関連コンテンツ
- Visual Studio でのデバッグ
- デバッガーを初めて見ること
- リモート デバッグ用の Windows ファイアウォールの構成
- リモートデバッガーポートの割り当て
- リモート IIS コンピューターでの ASP.NET のリモートデバッグ
- リモートデバッグエラーとトラブルシューティング