Comment : déboguer sur un cluster hautement performantHow to: Debug On a High-Performance Cluster

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.Debugging a multiprocessing program on a high-performance cluster is like debugging an ordinary program on a remote computer. Il y a toutefois d'autres éléments à prendre en compte.However, there are some additional considerations. Pour les besoins généraux de configuration à distance, consultez le débogage à distance.For general remote setup requirements, see Remote Debugging.

Lorsque vous déboguez sur un cluster hautement performant, vous pouvez utiliser toutes les fenêtres de débogage et les techniques Visual StudioVisual Studio disponibles pour le débogage distant.When you debug on a high-performance cluster, you can use all the Visual StudioVisual Studio debugging windows and techniques that are available for remote debugging. Cependant, puisque vous déboguez à distance, la fenêtre de console externe n'est pas disponible.Because you are debugging remotely, however, the external console window is not available.

Le Threads fenêtre et processus sont particulièrement utiles pour déboguer des applications parallèles.The Threads window and Processes window are especially useful for debugging parallel applications. Pour obtenir des conseils sur l’utilisation de ces fenêtres, consultez Comment : utiliser la fenêtre processus et procédure pas à pas : déboguer à l’aide de la fenêtre Threads.For tips on how to use these windows, see How to: Use the Processes Window and Walkthrough: Debug using the Threads Window.

Les procédures suivantes présentent quelques techniques particulièrement utiles pour le débogage sur un cluster hautement performant.The following procedures show some techniques that are especially useful for debugging on a high-performance cluster.

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.When you debug a parallel application, you might want to set a breakpoint on a particular thread, process, or computer. Pour ce faire, vous pouvez créer un point d'arrêt normal, puis ajouter un filtre de point d'arrêt.You can do this by creating a normal breakpoint, and then adding a breakpoint filter.

Pour ouvrir la boîte de dialogue Filtre de point d'arrêtTo open the Breakpoint Filter dialog box

  1. Avec le bouton droit à un glyphe de point d’arrêt dans une fenêtre source, le désassemblage fenêtre, le pile des appels fenêtre, ou le des points d’arrêt fenêtre.Right-click a breakpoint glyph in a source window, the Disassembly window, the Call Stack window, or the Breakpoints window.

  2. Dans le menu contextuel, cliquez sur filtre.On the shortcut menu, click Filter. Cette option peut s’afficher en haut ou dans le sous-menu sous des points d’arrêt.This option may appear at the top level or in the submenu under Breakpoints.

Pour définir un point d'arrêt sur un ordinateur spécifiqueTo set a breakpoint on a specific computer

  1. Obtenir le nom d’ordinateur à partir de la processus fenêtre.Get the computer name from the Processes window.

  2. Sélectionnez un point d’arrêt et ouvrez le filtre de point d’arrêt boîte de dialogue, comme décrit dans la procédure précédente.Select a breakpoint, and open the Breakpoint Filter dialog box as described in the previous procedure.

  3. Dans le filtre de point d’arrêt boîte de dialogue, tapez :In the Breakpoint Filter dialog box, type:

    MachineName =nomdevotremachineMachineName =yourmachinename

    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.To create a more complex filter, you can combine clauses using &, the AND operator, ||, the OR operator, !, the NOT operator, and parentheses.

  4. Cliquez sur OK.Click OK.

Pour définir un point d'arrêt sur un processus spécifiqueTo set a breakpoint on a specific process

  1. Obtenir le nom du processus ou le numéro d’ID à partir de processus la processus fenêtre.Get the process name or process ID number from the Processes window.

  2. Sélectionnez un point d’arrêt et ouvrez le filtre de point d’arrêt boîte de dialogue comme dans la première procédure.Select a breakpoint, and open the Breakpoint Filter dialog box as in the first procedure.

  3. Dans le filtre de point d’arrêt boîte de dialogue, tapez :In the Breakpoint Filter dialog box, type:

    ProcessName = yourprocessnameProcessName = yourprocessname

    - ou -—or—

    ProcessID = yourprocessIDnumberProcessID = yourprocessIDnumber

    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.To create a more complex filter, you can combine clauses using &, the AND operator, ||, the OR operator, !, the NOT operator, and parentheses.

  4. Cliquez sur OK.Click OK.

Pour définir un point d'arrêt sur un thread spécifiqueTo set a breakpoint on a specific thread

  1. Obtenir le nom de thread ou le numéro d’ID à partir de thread la Threads fenêtre.Get the thread name or thread ID number from the Threads window.

  2. Sélectionnez un point d’arrêt et ouvrez le filtre de point d’arrêt boîte de dialogue, comme décrit dans la première procédure.Select a breakpoint, and open the Breakpoint Filter dialog box as described in the first procedure.

  3. Dans le filtre de point d’arrêt boîte de dialogue, tapez :In the Breakpoint Filter dialog box, type:

    ThreadName = yourthreadnameThreadName = yourthreadname

    - ou -—or—

    ThreadID = yourthreadIDnumberThreadID = yourthreadIDnumber

    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.To create a more complex filter, you can combine clauses using &, the AND operator, ||, the OR operator, !, the NOT operator, and parentheses.

  4. Cliquez sur OK.Click OK.

ExempleExample

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.The following example shows how to create a filter for a breakpoint on a computer named marvin and a thread named fourier1.

(MachineName = marvin) & (ThreadName = fourier1)

Voir aussiSee Also

Déboguer les Applications multithread Debug Multithreaded Applications
Débogage à distance Remote Debugging
Comment : utiliser la fenêtre processus How to: Use the Processes Window
Commencer le débogage d’applications multithreads Get Started Debugging Multithreaded Apps
Threads et processus Threads and Processes
Utilisation des points d’arrêtUsing Breakpoints