方法 : リモート クラスター アプリケーションをデバッグする

このトピックの内容は、次の製品に該当します。

エディション

Visual Basic

C#

F#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし トピック該当なし

Pro、Premium、Ultimate

トピック該当なし トピック該当 トピック該当 トピック該当 トピック該当なし

Visual Studio では、MPI クラスター デバッグがサポートされるようになりました。 この機能により、MPI (Message Passing Interface) 経由で通信するコンピューターのクラスター上で動作する並列プログラムをデバッグできます。

MPI デバッグの必要条件:

  • クラスター内の各コンピューターに MPI をインストールし、構成する必要があります。 MPI は、Windows Server 2003、Compute Cluster Edition に付属しています。 他の MPI 実装も利用できます。

  • クラスター内の各コンピューターに MPIShim.exe をインストールする必要があります。 MPIShim は Visual Studio 2005 に付属していて、並列デバッグを有効にするためにリモート デバッグ コンポーネントと共にインストールされます。 MPIShim は、任意のディレクトリにインストールできますが、クラスター内の各コンピューターで同じディレクトリに格納する必要があります。 インストール パスの例を次に示します。

    c:\windows\system32\mpishim

    または、デバッグ対象にローカルなディレクトリにインストールできます。

  • クラスター内の各コンピューターにリモート デバッグ モニター (msvsmon) をインストールする必要があります。 方法 : リモート デバッグ モニターを実行する を参照してください。

  • クラスター コンピューターをデバッグするための適切な特権を持つアカウントを使用して、Visual Studio ホスト (デバッグの実行元のコンピューター) を設定する必要があります。 (「リモート デバッグのアクセス許可」を参照)。

MPI デバッグ用に Visual Studio プロジェクトを準備するには

  1. 並列アプリケーションを含むソリューションを Visual Studio で開きます。

  2. ソリューション エクスプローラーでプロジェクトを右クリックし、ショートカット メニューの [プロパティ] をクリックします。

  3. [Project プロパティ] ダイアログ ボックスで、[デバッグ] をクリックします。

  4. [起動するデバッガー] ボックスで、[MPI クラスター デバッガー] を選択します。

  5. [MPIRun コマンド] ボックスに、クラスター コンピューター上の (MPI アプリケーションを起動する) MPIRun または MPIExec の場所を入力します。 次に例を示します。

    c:\windows\system32\mpiexec.exe

  6. [MPIRun 引数] ボックスに、MPIRun または MPIExec に渡す引数を入力します。 次に例を示します。

    -np 2

  7. [MPIRun 作業ディレクトリ] ボックスに、MPIRun または MPIExec の作業ディレクトリを入力します。 次に例を示します。

    c:\temp

  8. [アプリケーション コマンド] ボックスに、MPI が各クラスター コンピューターで実行するアプリケーションへのパスを入力します。このアプリケーションは、Visual Studio で開いたプロジェクトのアプリケーションでもあります。 このパスは、クラスター内の各コンピューターの共有パスまたはローカル パスになります。 ローカル パスの場合は、各コンピューターで一致する必要があります。 次に例を示します。

    $(TargetPath)

  9. [アプリケーション引数] ボックスに、アプリケーションに渡す引数を入力します。

  10. [MPIShim の場所] ボックスに、MPIShim.exe へのパスを入力します。 次に例を示します。

    c:\windows\system32\mpishim

  11. [デバッガーのタイプ] ボックスの設定を [自動] (既定値) のままにしておくと、実行するコードに見合ったデバッガーの種類が自動的に選択されます。 または、アプリケーションに適合する種類 ([ネイティブのみ][マネージのみ]、または [混合]) を選択することもできます。

  12. [Project プロパティ] ダイアログ ボックスを閉じます。

  13. [ツール] メニューの [オプション] をクリックします。

  14. [オプション] ダイアログ ボックスで、[デバッグ] ノードをクリックし、[全般] カテゴリをクリックします。

  15. [1 つのプロセスがブレークするとき、他のプロセスもブレークする] チェック ボックスを見つけます。 デバッグ セッションで必要な動作に応じて、このチェック ボックスをオンまたはオフにします。 これは [ツール] オプションであるため、この設定は、次回変更するまですべてのプロジェクトに対して有効になります。 詳細については、「方法 : 実行を中断する」を参照してください。

  16. [OK] をクリックして、[オプション] ダイアログ ボックスを閉じます。

並列アプリケーションをデバッグするには

  1. [デバッグ] メニューの [開始] をクリックしてデバッグを開始します。

    プロジェクトが正しく設定されていれば、アプリケーションはクラスター内のすべてのコンピューターで動作を開始します。

    コードにブレークポイントを設定している場合は、最初のブレークポイントで実行が中断します。

  2. [デバッグ] メニューの [ウィンドウ] をポイントし、[プロセス] をクリックします。

    [プロセス] ウィンドウが表示されます。 このウィンドウを使用して、アクティブなプロセスを設定できます。 1 つのアクティブ プロセスのみをステップ実行するには、このウィンドウの上部にあるステップ ボタンを使用します。

    DataTip を使用すると、並列アプリケーションをデバッグしながら変数値を確認できます。 DataTip に表示される変数値は、[プロセス] ウィンドウで設定された現在アクティブなプロセスに基づきます。

参照

処理手順

方法 : [プロセス] ウィンドウを使用する

概念

デバッガーのセキュリティ

その他の技術情報

リモート デバッグのセットアップ