Gewusst wie: Debuggen einer Remoteclusteranwendung

Aktualisiert: November 2007

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

C++

Web Developer

Express

Standard

Pro und Team

Tabellenlegende:

Vorhanden

Nicht vorhanden

Befehl oder Befehle, die standardmäßig ausgeblendet sind.

Visual Studio unterstützt jetzt MPI-Clusterdebuggen. Mit diesem Feature können Sie parallele Anwendungen debuggen, die in einem Computercluster ausgeführt werden und über MPI (Message Passing Interface) miteinander kommunizieren.

Voraussetzungen für MPI-Debuggen

  • MPI muss auf jedem Computer im Cluster installiert und konfiguriert sein. MPI ist Teil von Windows Server 2003, Compute Cluster Edition. Andere MPI-Implementierungen sind ebenfalls verfügbar.

  • MPIShim.exe muss auf jedem Computer im Cluster installiert sein. MPIShim ist in Visual Studio 2005 enthalten und mit den Remotedebugkomponenten installiert, um paralleles Debuggen zu ermöglichen. MPIShim kann in einem beliebigen Verzeichnis installiert werden, muss sich aber auf jedem Computer im Cluster in demselben Verzeichnis befinden. Ein möglicher Pfad wäre:

    c:\windows\system32\mpishim

    Eine Installation in einem lokalen Verzeichnis für das Debugziel ist ebenfalls möglich.

  • Der Remotedebugmonitor (msvsmon) muss auf jedem Computer im Cluster sein. Siehe Gewusst wie: Ausführen von Remotedebugmonitor.

  • Der Visual Studio-Host (der Computer, von dem aus Sie debuggen) muss über ein Konto mit den erforderlichen Berechtigungen zum Debuggen der Computer im Cluster verfügen. (Siehe Remotedebuggen – Berechtigungen.)

So bereiten Sie ein Visual Studio-Projekt für das MPI-Debuggen vor

  1. Öffnen Sie in Visual Studio die Projektmappe, die die parallele Anwendung enthält.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie im Kontextmenü Eigenschaften aus.

  3. Wählen Sie im Dialogfeld Projekt-Eigenschaften die Option Debuggen.

  4. Wählen Sie im Listenfeld Zu startender Debugger die Option MPI-Clusterdebuggen.

  5. Geben Sie im Feld MPIRun-Befehl den Speicherort von MPIRun oder MPIExec auf dem Clustercomputer an. MPIRun und MPIExec sind für das Starten der MPI-Anwendung verantwortlich. Beispiel:

    c:\windows\system32\mpiexec.exe

  6. Geben Sie im Feld MPIRun-Argumente die Argumente ein, die Sie an MPIRun oder MPIExec übergeben möchten. Beispiel:

    -np 2

  7. Geben Sie im Feld MPIRun-Arbeitsverzeichnis das Arbeitsverzeichnis von MPIRun oder MPIExec ein. Beispiel:

    c:\temp

  8. Geben Sie im Feld Anwendungsbefehl den Pfad der Anwendung ein, die MPI bei jeder Clustercomputerausführung ausführen wird. Dies ist gleichzeitig die Anwendung, deren Projekt in Visual Studio geöffnet ist. Bei dem Pfad kann es sich um eine Freigabe oder um einen lokalen Pfad auf den einzelnen Computern im Cluster handeln. Bei einem lokalen Pfad muss der Pfad auf jedem Computer gleich sein. Beispiel:

    $(TargetPath)

  9. Geben Sie im Feld Anwendungsargumente die Argumente ein, die Sie an die Anwendung übergeben möchten.

  10. Geben Sie im Feld MPIShim-Speicherort den Pfad zu MPIShim.exe ein. Beispiel:

    c:\windows\system32\mpishim

  11. Wenn Sie im Listenfeld Debuggertyp die Einstellung Automatisch (Standard) nicht ändern, wählt der Debugger den passenden Debuggertyp für den auszuführenden Code aus. Sie können aber auch selbst den richtigen Typ (Systemeigen, Verwaltet oder Gemischter Code) für die Anwendung wählen.

  12. Schließen Sie das Dialogfeld Projekt-Eigenschaften.

  13. Wählen Sie im Menü Extras den Befehl Optionen.

  14. Erweitern Sie im Dialogfeld Optionen den Knoten Debuggen, und klicken Sie auf die Kategorie Allgemein.

  15. Suchen Sie das Kontrollkästchen Wenn ein Prozess anhält, alle anderen Prozesse ebenfalls anhalten. Aktivieren oder deaktivieren Sie das Kontrollkästchen, je nachdem, welches Verhalten Sie während der Debugsitzung wünschen. (Da dies eine Option aus dem Menü Extras ist, bleibt diese Einstellung für alle Projekte bis zur nächsten Änderung aktiv.) Weitere Informationen finden Sie unter Gewusst wie: Unterbrechen der Ausführung.

  16. Klicken Sie auf OK, um das Dialogfeld Optionen zu schließen.

So debuggen Sie die parallele Anwendung

  1. Klicken Sie im Menü Debuggen auf Starten, um den Debugvorgang zu starten.

    Wenn Sie das Projekt korrekt eingerichtet haben, wird die Anwendung jetzt auf allen Computern im Cluster ausgeführt.

    Wenn Sie Haltepunkte im Code festgelegt haben, wird die Ausführung beim ersten Haltepunkt unterbrochen.

  2. Wählen Sie im Menü Debuggen die Option Fenster aus, und klicken Sie auf Prozesse.

    Das Fenster Prozesse. Sie können dieses Fenster verwenden, um einen aktiven Prozess festzulegen. Um nur den einen aktiven Prozess in Einzelschritten auszuführen, verwenden Sie die Schrittschaltflächen am oberen Rand des Fensters.

    Sie können mithilfe von DataTips Variablenwerte abrufen, während Sie eine parallele Anwendung debuggen. Die Variablenwerte, die in den DataTips angezeigt werden, basieren auf dem derzeit aktiven Prozess, der im Fenster Prozesse festgelegt ist.

Siehe auch

Aufgaben

Gewusst wie: Verwenden des Fensters "Prozesse"

Konzepte

Debuggersicherheit

Weitere Ressourcen

Remotedebuggen – Setup