Share via


para depurar en un clúster de alto rendimiento (C#, Visual Basic, C++)

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 obtener los requisitos de configuración remota generales, vea 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 Procedimiento para usar la ventana Procesos y Tutorial: Depuración con 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 derecho 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 =nombreDelEquipo

    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 =nombre_del_proceso

    O bien:

    ProcessID =número_de_id_del_proceso

    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 =nombre_del_subproceso

    O bien:

    ThreadID =número_de_id_del_subproceso

    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)