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 にあります。
Version | Link | メモ |
---|---|---|
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 ドキュメントのダウンロード ページ |
バージョン | Link | メモ |
---|---|---|
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 を使用します。これは、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++ Project プロジェクトのリモート デバッグ
次の手順では、プロジェクトのパスは C:\remotetemp で、リモート コンピューターの名前は MySurface です。
CppConsoleApp という名前の C++ コンソール アプリケーションを作成します
ブレークポイントを、アプリケーション内の達しやすい任意の箇所 (たとえば、
main
関数の CppConsoleApp.cpp) に設定します。ソリューション エクスプローラーで、プロジェクトを右クリックし、 [プロパティ] を選択します。 [デバッグ] タブを開きます。
[起動するデバッガー] を [リモート Windows デバッガー] に設定します。
プロパティに次の変更を適用します。
設定 [値] リモート コマンド C:\remotetemp\CppConsoleApp.exe 作業ディレクトリ C:\remotetemp リモート サーバー名 MySurface:portnumber Connection Windows 認証を使用したリモート接続 [デバッガーのタイプ] ネイティブのみ [配置ディレクトリ] C:\remotetemp [配置する追加ファイル] $(ProjectDir)\data 追加のフォルダーを配置し、フォルダー内のすべてのファイルを同じフォルダーに配置する場合は、フォルダー名を指定します。
プロパティの詳細については、「C++ デバッグ構成のプロジェクト設定」を参照してください。
ソリューション エクスプローラーで、ソリューションを右クリックして [構成マネージャー] を選択します。
[デバッグ] 構成の [配置] チェック ボックスをオンにします。
デバッグを開始します ([デバッグ] > [デバッグの開始]、または F5 キー)。
実行可能ファイルが、リモート コンピューターに自動的に配置されます。
メッセージが表示されたら、リモート コンピューターに接続するためのネットワーク資格情報を入力します。
必要な資格情報は、ネットワークのセキュリティ構成に固有です。 たとえば、ドメイン コンピューターでは、セキュリティ証明書を選択するか、ドメイン名とパスワードを入力します。 ドメイン以外のコンピューターでは、コンピューター名と有効なユーザー アカウント名 (MySurface\name@something.com など) および正しいパスワードなどを入力します。
Visual Studio コンピューターで、実行がブレークポイントで停止したことを確認できるはずです。
ヒント
また、これらのファイルは別の手順でも配置できます。 ソリューション エクスプローラーで、プロジェクト ノードを右クリックして [配置] を選択します。
アプリケーションで必要なコード以外のファイルがある場合は、 [リモート Windows デバッガー] ページの [追加の配置ファイル] にあるセミコロン区切りのリストで指定できます。
または、ファイルをプロジェクトに追加し、各ファイルの [プロパティ] ページで [コンテンツ] プロパティを [はい] に設定します。 これらのファイルは、 [リモート Windows デバッガー] ページで指定した [配置ディレクトリ] にコピーされます。 また、 [配置ディレクトリ] のサブフォルダーにファイルをコピーする必要がある場合は、 [項目の種類] を [ファイルのコピー] に変更し、そこで追加のプロパティを指定できます。
リモート シンボルを使用したデバッグのセットアップ
Visual Studio コンピューターで生成したシンボルを使用して、コードをデバッグすることができます。 リモート デバッガーのパフォーマンスは、ローカル シンボルを使用すると大幅に向上します。
リモート シンボルを使う必要がある場合は、[ツール] > [オプション] > [デバッグ] > [シンボル] のシンボル検索パスに Windows ファイル共有を追加することにより、Visual Studio でリモート シンボルを指定する必要があります。