Partager via


Comment : déboguer sur un cluster hautement performant

Le débogage d'un programme multitraitement sur un cluster hautement performant est identique au débogage d'un programme ordinaire sur un ordinateur distant. Il y a toutefois d'autres éléments à prendre en compte. Pour plus d'informations sur les besoins généraux de configuration distante, consultez Débogage et diagnostics distants.

Lorsque vous déboguez sur un cluster hautement performant, vous pouvez utiliser toutes les fenêtres de débogage et les techniques Visual Studio disponibles pour le débogage distant. Cependant, puisque vous déboguez à distance, la fenêtre de console externe n'est pas disponible.

Les fenêtres Threads et Processus sont particulièrement utiles pour déboguer des applications parallèles. Pour obtenir des conseils sur l'utilisation de ces fenêtres, consultez <PAVE OVER> Comment : utiliser la fenêtre Processus et Comment : utiliser la fenêtre Threads.

Les procédures suivantes présentent quelques techniques particulièrement utiles pour le débogage sur un cluster hautement performant.

Lors du débogage d'une application parallèle, vous souhaitez définir un point d'arrêt sur un thread, un processus ou un ordinateur particulier. Pour ce faire, vous pouvez créer un point d'arrêt normal, puis ajouter un filtre de point d'arrêt.

Pour ouvrir la boîte de dialogue Filtre de point d'arrêt

  1. Cliquez avec le bouton droit sur un glyphe de point d'arrêt dans une fenêtre source, la fenêtre Code machine, Pile des appels ou Points d'arrêt.

  2. Dans le menu contextuel, cliquez sur Filtre. Cette option peut s'afficher en haut ou dans le sous-menu sous Points d'arrêt.

Pour définir un point d'arrêt sur un ordinateur spécifique

  1. Obtenez le nom de l'ordinateur dans la fenêtre Processus.

  2. Sélectionnez un point d'arrêt et ouvrez la boîte de dialogue Filtre de point d'arrêt, comme décrit dans la procédure précédente.

  3. Dans la boîte de dialogue Filtre de point d'arrêt, tapez :

    MachineName =nom_de_votre_ordinateur

    Pour créer un filtre plus complexe, vous pouvez associer des clauses à l'aide de &, de l'opérateur AND, ||, de l'opérateur OR !, de l'opérateur NOT et de parenthèses.

  4. Cliquez sur OK.

Pour définir un point d'arrêt sur un processus spécifique

  1. Obtenez le nom du processus ou le numéro d'identifiant du processus de la fenêtre Processus.

  2. Sélectionnez un point d'arrêt et ouvrez la boîte de dialogue Filtre de point d'arrêt, comme décrit dans la première procédure.

  3. Dans la boîte de dialogue Filtre de point d'arrêt, tapez :

    ProcessName = nom_de_votre_processeur

    - ou -

    ProcessID = ID_de_votre_processeur

    Pour créer un filtre plus complexe, vous pouvez associer des clauses à l'aide de &, de l'opérateur AND, ||, de l'opérateur OR !, de l'opérateur NOT et de parenthèses.

  4. Cliquez sur OK.

Pour définir un point d'arrêt sur un thread spécifique

  1. Obtenez le nom du thread ou le numéro d'ID de thread dans la fenêtre Threads.

  2. Sélectionnez un point d'arrêt et ouvrez la boîte de dialogue Filtre de point d'arrêt, comme décrit dans la première procédure.

  3. Dans la boîte de dialogue Filtre de point d'arrêt, tapez :

    ThreadName = nom_de_votre_thread

    - ou -

    ThreadID = ID_de_votre_thread

    Pour créer un filtre plus complexe, vous pouvez associer des clauses à l'aide de &, de l'opérateur AND, ||, de l'opérateur OR !, de l'opérateur NOT et de parenthèses.

  4. Cliquez sur OK.

Exemple

L'exemple suivant montre comment créer un filtre pour un point d'arrêt sur un ordinateur nommé marvin et un thread nommé fourier1.

(MachineName = marvin) & (ThreadName = fourier1)

Voir aussi

Tâches

Comment : utiliser la fenêtre Threads

Concepts

Points d'arrêt : utiliser les nombres d'accès, les fonctions de la pile des appels et les conditions d'arrêt quand et où vous le voulez dans le débogueur Visual Studio

Autres ressources

Déboguer les applications multithread dans Visual Studio

Débogage et diagnostics distants

<PAVE OVER> Comment : utiliser la fenêtre Processus

<PAVEOVER> Threads et processus