Depurar uno o varios procesos en Visual Studio
Aquí se indica cómo iniciar procesos de depuración, intercambiar procesos, interrumpir y continuar la ejecución, ejecutar paso a paso el código fuente, detener la depuración y finalizar o desasociar procesos.
Contenido
Configurar el comportamiento de ejecución de varios procesos
Buscar archivos de origen y de símbolos (.pdb)
Empezar varios procesos en una solución de VS, asociar a un proceso, empezar automáticamente un proceso en el depurador
Cambiar procesos, interrumpir y continuar la ejecución, ejecutar paso a paso el código fuente
Detener la depuración, terminar o desasociar procesos
Configurar el comportamiento de ejecución de varios procesos
De forma predeterminada, cuando varios procesos se ejecutan en el depurador, los comandos de interrupción, ejecución paso a paso y detención del depurador suelen afectar a todos los procesos. Por ejemplo, si un proceso se suspende en un punto de interrupción, también se suspenderá la ejecución de todos los demás procesos. Puede cambiar este comportamiento predeterminado para tener un mejor control sobre los destinos de los comandos de ejecución.
En el menú Depurar, elija Opciones y configuración.
En la página Depuración, General, desactive la casilla Interrumpir todos los procesos cuando se interrumpa uno.
Contenido
Buscar archivos de origen y de símbolos (.pdb)
Para navegar por el código fuente de un proceso, el depurador necesita acceso a los archivos de código fuente y los archivos de símbolos del proceso. Vea Especificar archivos de código fuente y símbolos (.pdb) en el depurador de Visual Studio.
Si no puede tener acceso a los archivos de un proceso, puede navegar utilizando la ventana Desensamblado. Vea Cómo: Utilizar la ventana Desensamblador.
Contenido
Empezar varios procesos en una solución de VS, asociar a un proceso, empezar automáticamente un proceso en el depurador
- Empezar a depurar varios procesos en una solución de Visual Studio • Cambiar el proyecto de inicio • Iniciar un proyecto específico en una solución • Empezar varios proyectos en una solución • Asociar a un proceso • Iniciar automáticamente un proceso en el depurador
Nota
El depurador no se asocia automáticamente a un proceso secundario iniciado por un proceso depurado, aunque el proyecto secundario se encuentre en la misma solución.Para depurar un proceso secundario:
-
Realice la asociación al proceso secundario una vez iniciado.
O bien
-
Configure Windows para iniciar automáticamente el proceso secundario en una nueva instancia del depurador.
Empezar a depurar varios procesos en una solución de Visual Studio
Si tiene más de un proyecto en una solución de Visual Studio que se puede ejecutar de forma independiente (proyectos que se ejecutan en procesos independientes), puede seleccionar qué proyectos desea que inicie el depurador.
Cambiar el proyecto de inicio
Para cambiar el proyecto de inicio de una solución, seleccione el proyecto en el Explorador de soluciones y, a continuación, elija Establecer como proyecto de inicio en el menú contextual.
Iniciar un proyecto específico en una solución
Para iniciar un proyecto de una solución sin cambiar el proyecto de inicio predeterminado, seleccione el proyecto en el Explorador de soluciones y, a continuación, elija Depurar en el menú contextual. A continuación, puede elegir Iniciar nueva instancia o Ir a nueva instancia.
Contenido
Empezar varios proyectos en una solución
Seleccione la solución en el Explorador de soluciones y elija Propiedades en el menú contextual.
Seleccione Propiedades comunes, Proyecto de inicio en el cuadro de diálogo Propiedades.
Para cada proyecto que desee cambiar, elija Inicio, Iniciar sin depuraro Ninguno.
Contenido
Asociar a un proceso
El depurador también puede asociarse a los programas que se ejecutan en procesos externos a Visual Studio, incluidos los programas que se ejecutan en un dispositivo remoto. Después de asociar a un programa, podrá usar los comandos de ejecución del depurador, inspeccionar el estado del programa, etc. La capacidad de inspeccionar el programa podría ser limitada, en función de si el programa se ha generado con información de depuración, de si el usuario tiene acceso al código fuente del programa o de si el compilador JIT de Common Language Runtime realiza un seguimiento de la información de depuración.
Vea Crear asociaciones con procesos en ejecución con el depurador de Visual Studio para obtener más información.
Asociar a un proceso que se está ejecutando en el equipo local
Elija Depurar, Asociar al proceso. En el cuadro de diálogo Asociar al proceso, seleccione el proceso en la lista Procesos disponibles y elija Asociar.
Contenido
Iniciar automáticamente un proceso en el depurador
En ocasiones, es posible que tenga que depurar código de inicio de un programa iniciado por otro proceso. Por ejemplo, servicios y configuraciones personalizadas. En estos casos, se puede iniciar el depurador y asociarse automáticamente cuando se inicia la aplicación.
Inicie el Editor del Registro (regedit.exe).
Navegue a la carpeta HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
Seleccione la carpeta de la aplicación que desee iniciar en el depurador.
Si el nombre de la aplicación no aparece como carpeta secundaria, seleccione Image File Execution Options y, a continuación, elija Nueva, Clave en el menú contextual. Seleccione la nueva clave, elija Cambiar nombre en el menú contextual y escriba el nombre de la aplicación.
En el menú contextual de la carpeta de aplicaciones, elija Nuevo, Valor de cadena.
Cambie el nombre del nuevo valor de New Value a depurador.
En el menú contextual de la entrada del depurador, elija Modificar.
En el cuadro de diálogo Editar cadena, escriba vsjitdebugger.exe en el cuadro Datos del valor.
Contenido
Cambiar procesos, interrumpir y continuar la ejecución, ejecutar paso a paso el código fuente
- Cambiar entre procesos • Comandos de interrupción, paso y continuación
Cambiar entre procesos
Puede asociar varios procesos mientras realiza la depuración, pero sólo un proceso estará activo en el depurador al mismo tiempo. Puede establecer el proceso activo o actual en la Barra de herramientas de la ubicación de depuración o en la ventana Procesos. Para cambiar entre procesos, ambos procesos deben encontrarse en el modo de interrupción.
Para establecer el proceso actual
En la Barra de herramientas de la ubicación de depuración, elija Proceso para ver el cuadro de lista Proceso. Seleccione el proceso que desee designar como proceso actual.
Si la barra de herramientas Ubicación de depuración no está visible, elija Herramientas, Personalizar. En la pestaña Barras de herramientas, elija Ubicación de depuración.
Abra la ventana Procesos (acceso directo: Ctrl+Alt+Z), busque el proceso que desea establecer como proceso actual y haga doble clic en él.
El proceso actual se marca mediante una flecha amarilla.
Cuando se cambia a un proyecto, se establece como el proceso actual de la depuración. Cualquier ventana de depurador abierta mostrará el estado del proceso actual, así como todos los comandos de ejecución paso a paso que solo afecten al proceso actual.
Cambiar procesos, interrumpir y continuar la ejecución, ejecutar paso a paso el código fuente
Contenido
Comandos de interrupción, paso y continuación
Nota
De forma predeterminada, los comandos de interrupción, continuación y paso del depurador afectan a todos los procesos que se depuran.Para cambiar este comportamiento, vea Configurar el comportamiento de ejecución de varios procesos
Comando |
Interrumpir todos los procesos cuando se interrumpa uno Activado (valor predeterminado) |
Interrumpir todos los procesos cuando se interrumpa uno Borrado |
MenúDepurar:
|
Se interrumpen todos los procesos. |
Se interrumpen todos los procesos. |
MenúDepurar:
|
Se reanudan todos los procesos. |
Se reanudan todos los procesos suspendidos. |
MenúDepurar:
|
Se ejecutan todos los procesos mientras que el proceso actual se ejecuta paso a paso. A continuación, se interrumpen todos los procesos. |
El proceso actual se ejecuta paso a paso. Se reanudan los procesos suspendidos. Continúan los procesos en ejecución. |
MenúDepurar:
|
N/D |
El proceso actual se ejecuta paso a paso. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Ventana de código fuente
|
Se interrumpen todos los procesos. |
Solo se interrumpe el proceso de la ventana de código fuente. |
Menú contextual de la ventana de código fuente:
La ventana de código fuente debe estar en el proceso actual. |
Se ejecutan todos los procesos mientras se ejecuta el proceso de la ventana de código fuente hasta el cursor para, a continuación, interrumpirse. A continuación, se interrumpen todos los demás procesos. |
El proceso de la ventana de código fuente se ejecuta hasta el cursor. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Menú contextual de la ventanaProcesos:
|
N/D |
Se interrumpe el proceso seleccionado. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Menú contextual de la ventanaProcesos:
|
N/D |
Se reanuda el proceso seleccionado. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Cambiar procesos, interrumpir y continuar la ejecución, ejecutar paso a paso el código fuente
Contenido
Detener la depuración, terminar o desasociar procesos
- Comandos de detención, finalización y desasociación
De forma predeterminada, si elige Depurar, Detener depuración cuando varios procesos están abiertos en el depurador, este finaliza o se desasocia de todos los procesos según cómo se abriera el proceso en el depurador:
Si el proceso actual se inició en el depurador, dicho proceso finalizará.
Si asoció el depurador al proceso actual, el depurador se desasociará del proceso y dejará el proceso en ejecución.
Por ejemplo, si comienza la depuración de un proceso de una solución de Visual Studio, asócielo a otro proceso en ejecución, y después elija Detener depuración, la sesión de depuración finaliza, el proceso que se inició en Visual Studio finaliza, mientras el proceso que asoció sigue en ejecución. Puede utilizar los siguientes procedimientos para controlar la manera en que se detiene la depuración.
Nota
La opción Interrumpir todos los procesos cuando se interrumpa uno no afecta a la detención de la depuración o la finalización o desasociación de los procesos.
Para cambiar la manera en que Detener depuración afecta a un proceso individual
- Abra la ventana Procesos (acceso directo: Ctrl+Alt+Z). Seleccione un proceso y, a continuación, active o desactive la casilla Desasociar cuando se interrumpa la depuración.
Comandos de detención, finalización y desasociación
Comando |
Descripción |
MenúDepurar:
|
A menos que se cambie el comportamiento mediante la opción Desasociar cuando se interrumpa la depuración de la ventana Procesos:
|
MenúDepurar:
|
Finalizan todos los procesos. |
MenúDepurar:
|
El depurador se desasocia de todos los procesos. |
Menú contextual de la ventanaProcesos:
|
El depurador se desasocia del proceso seleccionado. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Menú contextual de la ventanaProcesos:
|
Finaliza el proceso seleccionado. Otros procesos mantienen su estado existente (suspendido o en ejecución). |
Menú contextual de la ventanaProcesos:
|
Alterna el comportamiento de Depurar, Detener depuración para el proceso seleccionado:
|
Detener la depuración, terminar o desasociar procesos
Contenido
Vea también
Conceptos
Depuración Just-In-Time en Visual Studio
Otros recursos
Especificar archivos de código fuente y símbolos (.pdb) en el depurador de Visual Studio
Crear asociaciones con procesos en ejecución con el depurador de Visual Studio