Visual Studio での C++ プロジェクトのリモート デバッグRemote Debugging a C++ Project in Visual Studio

別のコンピューター上の Visual Studio アプリケーションをデバッグするには、アプリを配置したコンピューターにリモート ツールをインストールして実行し、Visual Studio からリモート コンピューターに接続するようにプロジェクトを構成してから、アプリを配置して実行します。To debug a Visual Studio application on a different computer, install and run the remote tools on the computer where you will deploy your app, configure your project to connect to the remote computer from Visual Studio, and then deploy and run your app.

リモート デバッガーのコンポーネントRemote debugger components

ユニバーサル Windows アプリ (UWP) のリモート デバッグの詳細については、インストールされているアプリ パッケージのデバッグに関するページを参照してください。For information about remote debugging Universal Windows Apps (UWP), see Debug an Installed App Package.

必要条件Requirements

リモート デバッガーは、Windows 7 以降 (Phone を除く) および Windows Server 2008 Service Pack 2 以降でサポートされています。The remote debugger is supported on Windows 7 and newer (not phone) and versions of Windows Server starting with Windows Server 2008 Service Pack 2. 詳細な要件の一覧については、「要件」を参照してください。For a complete list of requirements, see Requirements.

注意

プロキシ経由で接続された 2 台のコンピューター間のデバッグはサポートされていません。Debugging between two computers connected through a proxy is not supported. 待機時間の長い接続や低帯域幅の接続 (ダイヤルアップ インターネットなど)、または国をまたぐインターネット経由のデバッグは推奨されません。これらは、障害が発生するか、または過度に低速になる可能性があります。Debugging over a high latency or low bandwidth connection, such as dialup Internet, or over the Internet across countries is not recommended and may fail or be unacceptably slow.

リモート ツールのダウンロードおよびインストールDownload and Install the remote tools

Visual Studio マシンではなく、デバッグするリモート デバイスまたはサーバーで、次の表のリンクから適切なバージョンのリモート ツールをダウンロードしてインストールします。On the remote device or server that you want to debug on, rather than the Visual Studio machine, download and install the correct version of the remote tools from the links in the following table.

  • お使いのバージョンの Visual Studio 用の最新のリモート ツールをダウンロードします。Download the most recent remote tools for your version of Visual Studio. 最新バージョンのリモート ツールは、以前のバージョンの Visual Studio と互換性がありますが、以前のバージョンのリモート ツールは、以降のバージョンの Visual Studio と互換性がありませんThe latest remote tools version is compatible with earlier Visual Studio versions, but earlier remote tools versions aren't compatible with later Visual Studio versions. (たとえば、Visual Studio 2017 を使用している場合、Visual Studio 2017 用のリモート ツールの最新の更新プログラムをダウンロードします。(For example, if you are using Visual Studio 2017, download the latest update of the remote tools for Visual Studio 2017. このシナリオでは、Visual Studio 2019 用のリモート ツールをダウンロードしないでください)。In this scenario, do not download the remote tools for Visual Studio 2019.)
  • インストール先のマシンと同じアーキテクチャを持つリモート ツールをダウンロードします。Download the remote tools with the same architecture as the machine you're installing them on. たとえば、64 ビットのオペレーティング システムを実行しているリモート コンピューターで 32 ビット アプリをデバッグする場合は、64 ビットのリモート ツールをインストールします。For example, if you want to debug a 32-bit app on a remote computer running a 64-bit operating system, install the 64-bit remote tools.
バージョンVersion LinkLink メモNotes
Visual Studio 2019Visual Studio 2019 リモート ツールRemote tools すべてのバージョンの Visual Studio 2019 と互換性があります。Compatible with all Visual Studio 2019 versions. デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。Download the version matching your device operating system (x86, x64, or ARM64). Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。On Windows Server, see Unblock the file download for help downloading the remote tools.
Visual Studio 2017Visual Studio 2017 リモート ツールRemote tools すべてのバージョンの Visual Studio 2017 と互換性があります。Compatible with all Visual Studio 2017 versions. デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。Download the version matching your device operating system (x86, x64, or ARM64). Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。On Windows Server, see Unblock the file download for help downloading the remote tools.
Visual Studio 2015Visual Studio 2015 リモート ツールRemote tools Visual Studio 2015 用のリモート ツールは My.VisualStudio.com で入手できます。Remote tools for Visual Studio 2015 are available from My.VisualStudio.com. メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、または Visual Studio サブスクリプション ID でサインインします。If prompted, join the free Visual Studio Dev Essentials program, or sign in with your Visual Studio subscription ID. Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。On Windows Server, see Unblock the file download for help downloading the remote tools.
Visual Studio 2013Visual Studio 2013 リモート ツールRemote tools Visual Studio 2013 ドキュメントのダウンロード ページDownload page in Visual Studio 2013 documentation
Visual Studio 2012Visual Studio 2012 リモート ツールRemote tools Visual Studio 2012 ドキュメントのダウンロード ページDownload page in Visual Studio 2012 documentation
バージョンVersion LinkLink メモNotes
Visual Studio 2017Visual Studio 2017 リモート ツールRemote tools すべてのバージョンの Visual Studio 2017 と互換性があります。Compatible with all Visual Studio 2017 versions. デバイスのオペレーティング システム (x86、x64、または ARM64) に一致するバージョンをダウンロードします。Download the version matching your device operating system (x86, x64, or ARM64). Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。On Windows Server, see Unblock the file download for help downloading the remote tools. 最新バージョンのリモート ツールについては、Visual Studio 2019 ドキュメントを開きます。For the most recent version of the remote tools, open the Visual Studio 2019 doc.
Visual Studio 2015Visual Studio 2015 リモート ツールRemote tools Visual Studio 2015 用のリモート ツールは My.VisualStudio.com で入手できます。Remote tools for Visual Studio 2015 are available from My.VisualStudio.com. メッセージが表示されたら、無料の Visual Studio Dev Essentials プログラムに参加するか、または Visual Studio サブスクリプション ID でサインインします。If prompted, join the free Visual Studio Dev Essentials program, or sign in with your Visual Studio subscription ID. Windows Server の場合、リモート ツールのダウンロードについては、ファイルのダウンロードのブロック解除に関するページを参照してください。On Windows Server, see Unblock the file download for help downloading the remote tools.
Visual Studio 2013Visual Studio 2013 リモート ツールRemote tools Visual Studio 2013 ドキュメントのダウンロード ページDownload page in Visual Studio 2013 documentation
Visual Studio 2012Visual Studio 2012 リモート ツールRemote tools Visual Studio 2012 ドキュメントのダウンロード ページDownload page in Visual Studio 2012 documentation

リモート デバッガーを実行するには、リモート ツールをインストールするのではなく、msvsmon.exe をリモート コンピューターにコピーします。You can run the remote debugger by copying msvsmon.exe to the remote computer, rather than installing the remote tools. ただし、リモート デバッガー構成ウィザード (rdbgwiz.exe) は、リモート ツールをインストールした場合にのみ使用できます。However, the Remote Debugger Configuration Wizard (rdbgwiz.exe) is available only when you install the remote tools. リモート デバッガーをサービスとして実行する場合は、構成にウィザードの使用が必要になることがあります。You may need to use the wizard for configuration if you want to run the remote debugger as a service. 詳細については、「(オプション) リモート デバッガーをサービスとして構成する」を参照してください。For more information, see (Optional) Configure the remote debugger as a service.

注意

  • ARM デバイスで Windows 10 アプリをデバッグするには、最新バージョンのリモート ツールで使用できる ARM64 を使用します。To debug Windows 10 apps on ARM devices, use ARM64, which is available with the latest version of the remote tools.
  • Windows RT デバイスで Windows 10 アプリをデバッグするには、ARM を使用します。これは、Visual Studio 2015 リモート ツールのダウンロードでのみ使用できます。To debug Windows 10 apps on Windows RT devices, use ARM, which is available only in the Visual Studio 2015 remote tools download.

ヒント

場合によっては、ファイル共有からリモート デバッガーを実行するのが最も効率的な場合があります。In some scenarios, it can be most efficient to run the remote debugger from a file share. 詳細については、ファイル共有からのリモート デバッガーの実行に関するページを参照してください。For more information, see Run the remote debugger from a file share.

リモート デバッガーのセットアップSet up the remote debugger

  1. リモート コンピューター上の [スタート] メニューで、 [リモート デバッガー] を見つけて起動します。On the remote computer, find and start the Remote Debugger from the Start menu.

    リモート コンピューターに対する管理アクセス許可がない場合は、 [リモート デバッガー] アプリを右クリックし、 [管理者として実行] を選択します。If you don't have administrative permissions on the remote computer, right-click the Remote Debugger app and select Run as administrator. それ以外の場合は、通常どおり開始します。Otherwise, just start it normally.

    管理者として実行されているプロセス、または別のユーザー アカウント (IIS など) で実行されているプロセスにアタッチする場合は、 [リモート デバッガー] アプリを右クリックし、 [管理者として実行] を選択します。If you are planning to attach to a process which is running as an administrator, or is running under a different user account (such as IIS), right-click the Remote Debugger app and select Run as administrator. 詳細については、「管理者としてリモート デバッガーを実行する」を参照してください。For more information, see Run the remote debugger as an administrator.

  2. リモート デバッガーを初めて (またはその構成を完了する前に) 開始すると、 [リモート デバッグの構成] ダイアログ ボックスが表示されます。The first time you start the remote debugger (or before you have configured it), the Remote Debugging Configuration dialog box appears.

    リモート デバッガーの構成Remote Debugger configuration

  3. Windows Web Services API がインストールされていない場合 (これは、Windows Server 2008 R2 でのみ発生します) は、 [インストール] ボタンを選択します。If the Windows Web Services API is not installed, which happens only on Windows Server 2008 R2, select the Install button.

  4. リモート ツールを使用するネットワークの種類を少なくとも 1 つ選択します。Select at least one network type you want to use the remote tools on. コンピューターがドメインを介して接続されている場合は、最初の項目を選択する必要があります。If the computers are connected through a domain, you must choose the first item. コンピューターがワークグループまたはホーム グループを介して接続されている場合は、必要に応じて、2 番目または 3 番目の項目を選択します。If the computers are connected through a workgroup or homegroup, choose the second or third item as appropriate.

  5. [リモート デバッグの構成] を選択してファイアウォールを構成し、リモート デバッガーを起動します。Select Configure remote debugging to configure the firewall and start the remote debugger.

  6. 構成が完了すると、 [リモート デバッガー] ウィンドウが表示されます。When configuration is complete, the Remote Debugger window appears.

    リモート デバッガー ウィンドウRemote Debugger window

    リモート デバッガーは接続を待機しています。The remote debugger is now waiting for a connection. 表示されているサーバー名とポート番号を使用して、Visual Studio でリモート接続構成を設定します。Use the server name and port number shown to set the remote connection configuration in Visual Studio.

リモート デバッガーを停止するには、 [ファイル] > [終了] を選択します。To stop the remote debugger, select File > Exit. リモート デバッガーを再起動するには、 [スタート] メニューを使用するか、またはコマンド ラインから次のコマンドを実行します。You can restart it from the Start menu, or from the command line:

<Remote debugger installation directory>\msvsmon.exe

注意

追加のユーザーのアクセス許可を追加し、認証モード、またはリモート デバッガーのポート番号を変更する必要がある場合は、「リモート デバッガーを構成する」を参照してください。If you need to add permissions for additional users, change the authentication mode, or port number for the remote debugger, see Configure the remote debugger.

C++ Project プロジェクトをリモート デバッグするRemote debug a C++ project

次の手順では、プロジェクトの名前とパスは C:\remotetemp\MyMfc で、リモート コンピューターの名前は MJO-DL です。In the following procedure, the name and path of the project is C:\remotetemp\MyMfc, and the name of the remote computer is MJO-DL.

  1. mymfc という名前の MFC アプリケーションを作成します。Create an MFC application named mymfc.

  2. ブレークポイントを、アプリケーション内の達しやすい任意の箇所 (たとえば、CMainFrame::OnCreate の開始時の MainFrm.cpp) に設定します。Set a breakpoint somewhere in the application that is easily reached, for example in MainFrm.cpp, at the start of CMainFrame::OnCreate.

  3. ソリューション エクスプローラーで、プロジェクトを右クリックし、 [プロパティ] を選択します。In Solution Explorer, right-click on the project and select Properties. [デバッグ] タブを開きます。Open the Debugging tab.

  4. [起動するデバッガー][リモート Windows デバッガー] に設定します。Set the Debugger to launch to Remote Windows Debugger.

    Visual Studio ソリューション エクスプローラーのプロパティの [デバッグ] タブのスクリーンショット。

  5. プロパティに次の変更を適用します。Make the following changes to the properties:

    設定Setting [値]Value
    リモート コマンドRemote Command C:\remotetemp\mymfc.exeC:\remotetemp\mymfc.exe
    作業ディレクトリWorking Directory C:\remotetempC:\remotetemp
    リモート サーバー名Remote Server Name MJO-DL:<ポート番号>MJO-DL:portnumber
    ConnectionConnection Windows 認証を使用したリモート接続Remote with Windows Authentication
    [デバッガーのタイプ]Debugger Type ネイティブのみNative Only
    [配置ディレクトリ]Deployment Directory C:\remotetempC:\remotetemp.
    [配置する追加ファイル]Additional Files to Deploy C:\data\mymfcdata.txtC:\data\mymfcdata.txt.

    追加のファイルを配置する場合は (オプション)、フォルダーが両方のコンピューターに存在している必要があります。If you deploy additional files (optional), the folder must exist on both machines.

  6. ソリューション エクスプローラーで、ソリューションを右クリックして [構成マネージャー] を選択します。In Solution Explorer, right-click the solution and choose Configuration Manager.

  7. [デバッグ] 構成の [配置] チェック ボックスをオンにします。For the Debug configuration, select the Deploy check box.

    Visual Studio ソリューション エクスプローラーの構成マネージャーのスクリーンショット。

  8. デバッグを開始します ( [デバッグ] > [デバッグの開始] 、または F5 キー)。Start debugging (Debug > Start Debugging, or F5).

  9. 実行可能ファイルが、リモート コンピューターに自動的に配置されます。The executable is automatically deployed to the remote computer.

  10. メッセージが表示されたら、リモート コンピューターに接続するためのネットワーク資格情報を入力します。If prompted, enter network credentials to connect to the remote machine.

    必要な資格情報は、ネットワークのセキュリティ構成に固有です。The required credentials are specific to your network's security configuration. たとえば、ドメイン コンピューターでは、セキュリティ証明書を選択するか、ドメイン名とパスワードを入力します。For example, on a domain computer, you might choose a security certificate or enter your domain name and password. ドメイン以外のコンピューターでは、コンピューター名と有効なユーザー アカウント名 (MJO-DL\name@something.com など) および正しいパスワードなどを入力します。On a non-domain machine, you might enter the machine name and a valid user account name, like MJO-DL\name@something.com, along with the correct password.

  11. Visual Studio コンピューターで、実行がブレークポイントで停止したことを確認できるはずです。On the Visual Studio computer, you should see that execution is stopped at the breakpoint.

    ヒント

    また、これらのファイルは別の手順でも配置できます。Alternatively, you can deploy the files as a separate step. ソリューション エクスプローラー で、 [mymfc] ノードを右クリックして [配置] を選択します。In the Solution Explorer, right-click the mymfc node and then choose Deploy.

    アプリケーションで必要なコード以外のファイルがある場合は、 [リモート Windows デバッガー] ページの [追加の配置ファイル] にあるセミコロン区切りのリストで指定できます。If you have non-code files that are required by the application, you can specify them in a semicolon delimited list in Additional Files to Deploy on the Remote Windows Debugger page.

    または、ファイルをプロジェクトに追加し、各ファイルの [プロパティ] ページで [コンテンツ] プロパティを [はい] に設定します。Alternatively, you can include the files in your project, and set the Content property to Yes in the Properties page for each file. これらのファイルは、 [リモート Windows デバッガー] ページで指定した [配置ディレクトリ] にコピーされます。These files are copied to the Deployment Directory specified on the Remote Windows Debugger page. また、 [配置ディレクトリ] のサブフォルダーにファイルをコピーする必要がある場合は、 [項目の種類][ファイルのコピー] に変更し、そこで追加のプロパティを指定できます。You can also change the Item Type to Copy File and specify additional properties there if you need the files to be copied to a subfolder of the Deployment Directory.

リモート シンボルを使用したデバッグのセットアップSet Up Debugging with Remote Symbols

Visual Studio コンピューターで生成したシンボルを使用して、コードをデバッグすることができます。You should be able to debug your code with the symbols you generate on the Visual Studio computer. リモート デバッガーのパフォーマンスは、ローカル シンボルを使用すると大幅に向上します。The performance of the remote debugger is much better when you use local symbols. リモート シンボルを使用する必要がある場合、リモート コンピューター上のシンボルを検索するように、リモート デバッグ モニターに指示する必要があります。If you must use remote symbols, you need to tell the remote debugging monitor to look for symbols on the remote machine.

Visual Studio 2013 Update 2 以降では、msvsmon コマンド ライン スイッチの Msvsmon /FallbackLoadRemoteManagedPdbs を使用して、マネージド コードにリモート シンボルを使用できます。Starting in Visual Studio 2013 Update 2, you can use the following msvsmon command-line switch to use remote symbols for managed code: Msvsmon /FallbackLoadRemoteManagedPdbs

詳細については、リモート デバッグのヘルプ (リモート デバッガーのウィンドウで F1 キーを押すか、または [ヘルプ] > [使い方] の順にクリックします) を参照してください。For more information, please see the remote debugging help (press F1 in the remote debugger window, or click Help > Usage). 詳細については、「.NET Remote Symbol Loading Changes in Visual Studio 2012 and 2013 (Visual Studio 2012 および 2013 における .NET のリモート シンボルの読み込みの変更)」を参照してください。You can find more information at .NET Remote Symbol Loading Changes in Visual Studio 2012 and 2013

関連項目See also