Compartir a través de


Cómo: Depurar en un clúster de alto rendimiento

Este tema se aplica a:

Edición

Visual Basic

C#

F#

C++

Web Developer

Express

El tema no es aplicable El tema no es aplicable El tema no es aplicable El tema no es aplicable El tema no es aplicable

Pro, Premium y Ultimate

El tema no es aplicable

El tema es aplicable

El tema es aplicable

El tema es aplicable

El tema no es aplicable

La depuración de un programa multiproceso en un clúster de alto rendimiento es similar a la depuración de un programa normal en un equipo remoto. Sin embargo, hay algunas consideraciones adicionales. Para conocer los requisitos de configuración del clúster remoto, vea Cómo: Depurar una aplicación de clúster remoto. Para conocer los requisitos de configuración remotos generales, vea Instalación de la depuración remota.

Al depurar en un clúster de alto rendimiento, puede utilizar todas las ventanas de depuración de Visual Studio y las técnicas que están disponibles para la depuración remota. Sin embargo, dado que está depurando de forma remota, la ventana de la consola externa no está disponible.

Las ventanas Procesos y Subprocesos son especialmente útiles para depurar aplicaciones paralelas. Para obtener sugerencias sobre el uso de estas ventanas, vea Cómo: Utilizar la ventana Procesos y Cómo: Utilizar la ventana Subprocesos.

En los procedimientos siguientes se presentan algunas técnicas que son especialmente útiles para depurar en un clúster de alto rendimiento.

Al depurar una aplicación paralela, puede establecer un punto de interrupción en un subproceso, proceso o equipo determinado. Para hacer esto, cree un punto de interrupción normal y, a continuación, agregue un filtro de punto de interrupción.

Para abrir el cuadro de diálogo Filtro del punto de interrupción

  1. Haga clic con el botón secundario del mouse en un glifo de punto de interrupción en la ventana Código fuente, Desensamblado, Pila de llamadas o Puntos de interrupción.

  2. En el menú contextual, haga clic en Filtro. Esta opción puede aparecer en el nivel superior o en el submenú de Puntos de interrupción.

Para establecer un punto de interrupción en un equipo concreto

  1. Obtenga el nombre del equipo en la ventana Procesos.

  2. Seleccione un punto de interrupción y abra el cuadro de diálogo Filtro del punto de interrupción como se describió en el procedimiento anterior.

  3. En el cuadro de diálogo Filtro del punto de interrupción, escriba:

    MachineName =nombreDeSuEquipo

    Para crear un filtro más complejo, puede combinar cláusulas con &, el operador AND, ||, el operador OR, !, el operador NOT y paréntesis.

  4. Haga clic en Aceptar.

Para establecer un punto de interrupción en un proceso concreto

  1. Obtenga el nombre o el número de id. del proceso en la ventana Procesos.

  2. Seleccione un punto de interrupción y abra el cuadro de diálogo Filtro del punto de interrupción tal como se describió en el primer procedimiento.

  3. En el cuadro de diálogo Filtro del punto de interrupción, escriba:

    ProcessName = nombreDeSuProceso

    O bien

    ProcessID = IdDeSuProceso

    Para crear un filtro más complejo, puede combinar cláusulas con &, el operador AND, ||, el operador OR, !, el operador NOT y paréntesis.

  4. Haga clic en Aceptar.

Para establecer un punto de interrupción en un subproceso concreto

  1. Obtenga el nombre o el número de id. del subproceso en la ventana Subprocesos.

  2. Seleccione un punto de interrupción y abra el cuadro de diálogo Filtro del punto de interrupción tal como se describió en el primer procedimiento.

  3. En el cuadro de diálogo Filtro del punto de interrupción, escriba:

    ThreadName = nombreDeSuSubproceso

    O bien

    ThreadID = IdDeSuSubproceso

    Para crear un filtro más complejo, puede combinar cláusulas con &, el operador AND, ||, el operador OR, !, el operador NOT y paréntesis.

  4. Haga clic en Aceptar.

Ejemplo

En el ejemplo siguiente se muestra cómo crear un filtro para un punto de interrupción en un equipo denominado marvin y un subproceso denominado fourier1.

(MachineName = marvin) & (ThreadName = fourier1)

Vea también

Tareas

Cómo: Depurar una aplicación de clúster remoto

Cómo: Utilizar la ventana Procesos

Cómo: Utilizar la ventana Subprocesos

Cómo: Especificar un filtro de punto de interrupción

Conceptos

Procesos y subprocesos

Otros recursos

Depurar aplicaciones multiproceso

Instalación de la depuración remota