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 |
|||||
Pro, Premium y Ultimate |
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
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.
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
Obtenga el nombre del equipo en la ventana Procesos.
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.
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.
Haga clic en Aceptar.
Para establecer un punto de interrupción en un proceso concreto
Obtenga el nombre o el número de id. del proceso en la ventana Procesos.
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.
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.
Haga clic en Aceptar.
Para establecer un punto de interrupción en un subproceso concreto
Obtenga el nombre o el número de id. del subproceso en la ventana Subprocesos.
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.
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.
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