Compartir a través de


Depurar aplicaciones multiproceso

Un subproceso es una secuencia de instrucciones a la que el sistema operativo asigna tiempo de procesador. Cada proceso que se ejecuta en el sistema operativo contiene al menos un subproceso. Los procesos que tienen más de un subproceso se denominan multiproceso.

Equipos con varios procesadores, con varios núcleos o con tecnología hyperthreading pueden ejecutar varios subprocesos al mismo tiempo. El procesamiento en paralelo de varios subprocesos puede mejorar notablemente el rendimiento del programa, pero también puede dificultar la depuración porque incluye la necesidad de efectuar el seguimiento de varios subprocesos.

Además, multithreading incluye algunos tipos de errores nuevos. Por ejemplo, a menudo dos o más subprocesos deben tener acceso al mismo recurso, pero únicamente un subproceso puede tener acceso al recurso sin ningún riesgo a la vez. Se necesita algún formulario de exclusión mutua para asegurarse de que únicamente uno subproceso está teniendo acceso al recurso a la vez. Si se realiza la exclusión mutua incorrectamente, puede crear una condición interbloqueo donde ningún subproceso se puede ejecutar. Los interbloqueos pueden ser un problema especialmente grave para realizar la depuración.

Visual Studio 2010 proporciona una ventana Subprocesos mejorada y otras mejoras de la interfaz de usuario que facilitan la depuración multiproceso. La mejor manera de obtener información sobre las nuevas características de la interfaz de subprocesamiento es realizar los pasos del tutorial. Vea Tutorial: Depurar una aplicación multiproceso.

Visual Studio también proporciona puntos de interrupción y puntos de seguimiento eficaces, que pueden ser muy útiles para depurar aplicaciones multiproceso. Puede utilizar filtros de puntos de interrupción para colocar puntos de interrupción en subprocesos individuales. Vea Cómo: Especificar un filtro de punto de interrupción.

Depurar una aplicación multiproceso que tiene una interfaz de usuario puede resultar especialmente difícil. En ese caso, puede que considere ejecutar la aplicación en un segundo equipo y usar la depuración remota. Para obtener más información, vea Instalación de la depuración remota.

En esta sección

Secciones relacionadas

Vea también

Otros recursos

Trabajar con procesos y subprocesos

Instalación de la depuración remota