方法 : リモート クラスタ アプリケーションをデバッグする
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
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 プロジェクトを準備するには
並列アプリケーションを含むソリューションを Visual Studio で開きます。
ソリューション エクスプローラでプロジェクトを右クリックし、ショートカット メニューの [プロパティ] をクリックします。
[Project プロパティ] ダイアログ ボックスで、[デバッグ] をクリックします。
[起動するデバッガ] ボックスで、[MPI クラスタ デバッガ] を選択します。
[MPIRun コマンド] ボックスに、クラスタ コンピュータ上の (MPI アプリケーションを起動する) MPIRun または MPIExec の場所を入力します。この例を次に示します。
c:\windows\system32\mpiexec.exe
[MPIRun 引数] ボックスに、MPIRun または MPIExec に渡す引数を入力します。この例を次に示します。
-np 2
[MPIRun 作業ディレクトリ] ボックスに、MPIRun または MPIExec の作業ディレクトリを入力します。この例を次に示します。
c:\temp
[アプリケーション コマンド] ボックスに、MPI が各クラスタ コンピュータで実行するアプリケーションへのパスを入力します。このアプリケーションは、Visual Studio で開いたプロジェクトのアプリケーションでもあります。このパスは、クラスタ内の各コンピュータの共有パスまたはローカル パスになります。ローカル パスの場合は、各コンピュータで一致する必要があります。この例を次に示します。
$(TargetPath)
[アプリケーション引数] ボックスに、アプリケーションに渡す引数を入力します。
[MPIShim の場所] ボックスに、MPIShim.exe へのパスを入力します。この例を次に示します。
c:\windows\system32\mpishim
[デバッガのタイプ] ボックスの設定を [自動] (既定値) のままにしておくと、実行するコードに見合ったデバッガの種類が自動的に選択されます。または、アプリケーションに適合する種類 ([ネイティブのみ]、[マネージのみ]、または [混合]) を選択することもできます。
[Project プロパティ] ダイアログ ボックスを閉じます。
[ツール] メニューの [オプション] をクリックします。
[オプション] ダイアログ ボックスで、[デバッグ] ノードをクリックし、[全般] カテゴリをクリックします。
[1 つのプロセスがブレークするとき、他のプロセスもブレークする] チェック ボックスを見つけます。デバッグ セッションで必要な動作に応じて、このチェック ボックスをオンまたはオフにします。これは [ツール] オプションであるため、この設定は、次回変更するまですべてのプロジェクトに対して有効になります。詳細については、「方法 : 実行を中断する」を参照してください。
[OK] をクリックして、[オプション] ダイアログ ボックスを閉じます。
並列アプリケーションをデバッグするには
[デバッグ] メニューの [開始] をクリックしてデバッグを開始します。
プロジェクトが正しく設定されていれば、アプリケーションはクラスタ内のすべてのコンピュータで動作を開始します。
コードにブレークポイントを設定している場合は、最初のブレークポイントで実行が中断します。
[デバッグ] メニューの [ウィンドウ] をポイントし、[プロセス] をクリックします。
[プロセス] ウィンドウが表示されます。このウィンドウを使用して、アクティブなプロセスを設定できます。1 つのアクティブ プロセスのみをステップ実行するには、このウィンドウの上部にあるステップ ボタンを使用します。
DataTip を使用すると、並列アプリケーションをデバッグしながら変数値を確認できます。DataTip に表示される変数値は、[プロセス] ウィンドウで設定された現在アクティブなプロセスに基づきます。