Compartir a través de


Introducción a los puntos de interrupción en el depurador de Visual Studio

Los puntos de interrupción constituyen una de las técnicas de depuración más importantes en los cuadros de herramientas de los desarrolladores. Los puntos de interrupción se establecen donde se quiere pausar la ejecución del depurador. Por ejemplo, puede que desee ver el estado de las variables de código o examinar la pila de llamadas en un determinado punto de interrupción.

Establecimiento de puntos de interrupción en el código fuente

Puede establecer un punto de interrupción en cualquier línea de código ejecutable. Por ejemplo, eche un vistazo a este sencillo código de C# que crea un bucle simple.

int testInt = 3;

for (int i = 0; i < 10; i++)
{
    testInt += i;
}

Puede establecer un punto de interrupción en la línea de código con la asignación de variables (int testInt = 3), el bucle for o cualquier código dentro del bucle for. No se puede establecer un punto de interrupción en las firmas de método, las declaraciones de un espacio de nombres o una clase, o bien las declaraciones de variables si no hay ninguna asignación y no hay ningún captador o establecedor.

Para establecer un punto de interrupción en el código fuente:

  • Haga clic en el margen izquierdo situado junto a una línea de código. También puede seleccionar la línea y presionar F9 y seleccionar Depurar>Alternar punto de interrupción, o hacer clic con el botón derecho y seleccionar Punto de interrupción>Insertar punto de interrupción. El punto de interrupción aparece como un punto rojo en el margen izquierdo.

Para la mayoría de los lenguajes (incluido C#), Visual Studio resalta automáticamente el punto de interrupción y las líneas de ejecución actuales. Para algunos lenguajes, como C++, que no está resaltado de forma predeterminada, puede activar el resaltado del punto de interrupción y las líneas actuales seleccionando Herramientas (o Depurar) >Opciones>Depuración>Resaltar línea de origen completa para puntos de interrupción e instrucción actual (solo C++).

Establecer un punto de interrupción

Establecer un punto de interrupción

Para depurar, presione F5 o seleccione Depurar>Iniciar depuración.

Al depurar, la ejecución se detiene en el punto de interrupción, antes de que se ejecute el código de esa línea. El símbolo del punto de interrupción muestra una flecha amarilla.

En el punto de interrupción del ejemplo siguiente, el valor de testInt sigue siendo 3. Por lo tanto, el valor no ha cambiado desde que se inicializó la variable (se estableció en un valor de 3) porque la instrucción en amarillo aún no se ha ejecutado.

Ejecución de punto de interrupción detenida ejecución del punto de interrupción

En el punto de interrupción del ejemplo siguiente, el valor de testInt sigue siendo 1. Por lo tanto, el valor no ha cambiado desde que se inicializó la variable (se estableció en un valor de 1) porque la instrucción en amarillo aún no se ha ejecutado.

Ejecución de punto de interrupción detenida

Cuando el depurador se detiene en el punto de interrupción, se puede consultar el estado actual de la aplicación, incluidos los valores de variable y la pila de llamadas.

Por ejemplo, en la ilustración siguiente, puede ver el valor de testInt en una sugerencia de datos y en la ventana de variables locales.

Captura de pantalla de visualización del estado de la aplicación

Estas son algunas instrucciones generales para trabajar con puntos de interrupción.

  • El punto de interrupción es un comando de alternancia. Puede hacer clic en él, presionar F9, o usar Debug>Toggle Breakpoint para eliminarlo o volver a insertarlo.

  • Para deshabilitar un punto de interrupción sin eliminarlo, mantenga el puntero sobre él o haga clic con el botón derecho y seleccione Deshabilitar punto de interrupción. Los puntos de interrupción deshabilitados aparecen como puntos vacíos en el margen izquierdo o en la ventana Puntos de interrupción. Para volver a habilitar un punto de interrupción, mantenga el puntero sobre él o haga clic con el botón derecho y seleccione Habilitar punto de interrupción.

  • Establezca condiciones y acciones, agregue y edite etiquetas o exporte un punto de interrupción; para ello, haga clic con el botón derecho en él y seleccione el comando adecuado, o mantenga el puntero sobre él y seleccione el icono Configuración.

Tipos de puntos de interrupción

Visual Studio admite diferentes tipos de puntos de interrupción para admitir diferentes escenarios de depuración, como puntos de interrupción condicionales que solo se activan en función de criterios especificados. Para obtener más información, consulte Use el tipo adecuado de punto de interrupción.

Administrar puntos de interrupción en la ventana Puntos de interrupción

En la ventana Puntos de interrupción se pueden ver y administrar todos los puntos de interrupción de la solución. Esta ubicación centralizada es especialmente útil en una solución grande o para escenarios de depuración complejos en los que los puntos de interrupción son críticos.

En la ventana Puntos de interrupción se pueden buscar, ordenar, filtrar, habilitar/deshabilitar o eliminar puntos de interrupción. También puede establecer condiciones y acciones, o agregar una nueva función o punto de interrupción de datos.

Para abrir la ventana Puntos de interrupción, seleccione Depurar>Ventanas>Puntos de interrupción, o bien presione CTRL+Alt+B.

Ventana Puntos de interrupción

Ventana Puntos de interrupción

Para seleccionar las columnas que se van a mostrar en la ventana Puntos de interrupción, seleccione Mostrar columnas. Seleccione un encabezado de columna para ordenar la lista de puntos de interrupción por esa columna.

Etiquetas de puntos de interrupción

Se pueden usar etiquetas para ordenar y filtrar la lista de puntos de interrupción en la ventana Puntos de interrupción.

  1. Para agregar una etiqueta a un punto de interrupción, haga clic con el botón derecho en el punto de interrupción en el código fuente o en la ventana Puntos de interrupción y, después, seleccione Editar etiquetas. Agregue una etiqueta nueva o elija una existente y, después, seleccione Aceptar.
  2. Para ordenar la lista de puntos de interrupción en la ventana Puntos de interrupción, seleccione Etiquetas, Condiciones u otros encabezados de columna. Para seleccionar las columnas que desea mostrar, seleccione Mostrar columnas en la barra de herramientas.

Grupos de puntos de interrupción

En escenarios de depuración complejos, es posible que desee crear grupos de puntos de interrupción para organizar los puntos de interrupción. Esto le permite habilitar y deshabilitar rápidamente agrupaciones lógicas de puntos de interrupción, en función del escenario actual que está intentando depurar.

Puede crear puntos de interrupción en la ventana de Puntos de interrupción seleccionando Nuevo > Grupo de puntos de interrupcióny proporcionando un nombre para el grupo. Para agregar un punto de interrupción a un grupo, haga clic con el botón derecho en el punto de interrupción y elija Agregar al grupo de puntos de interrupción><nombre de grupo>. O bien, arrastre y coloque los puntos de interrupción en el grupo deseado.

Captura de pantalla de grupos de puntos de interrupción.

Para establecer un grupo de puntos de interrupción predeterminado, haga clic con el botón derecho en un grupo y seleccione Establecer como grupo de puntos de interrupción predeterminado. Al establecer un grupo de puntos de interrupción predeterminado, los puntos de interrupción recién creados se agregan automáticamente al grupo.

Exportar e importar puntos de interrupción

Para guardar o compartir el estado y la ubicación de los puntos de interrupción, puede exportarlos o importarlos.

A partir de la versión 17.12 Preview 3 de Visual Studio 2022, los grupos de puntos de interrupción también se incluyen con los puntos de interrupción exportados e importados.

  • Para exportar un solo punto de interrupción a un archivo XML, haga clic con el botón derecho en el punto de interrupción en el código fuente o en la ventana Puntos de interrupción y, luego, seleccione Exportar o Exportar seleccionados. Seleccione una ubicación de exportación y, a continuación, seleccione Guardar. La ubicación predeterminada es la carpeta de la solución.
  • Para exportar varios puntos de interrupción, en la ventana Puntos de interrupción, seleccione los cuadros situados junto a los puntos de interrupción, o escriba criterios de búsqueda en el campo Buscar. Seleccione el icono Exportar todos los puntos de interrupción que coinciden con el criterio de búsqueda actual y guarde el archivo.
  • Para exportar todos los puntos de interrupción, desactive todas las casillas y deje el campo Buscar en blanco. Seleccione el icono Exportar todos los puntos de interrupción que coinciden con el criterio de búsqueda actual y guarde el archivo.
  • Para importar puntos de interrupción, seleccione el icono Importar puntos de interrupción de un archivo en la ventana Puntos de interrupción, vaya a la ubicación del archivo XML y seleccione Abrir.

Establecer puntos de interrupción desde ventanas del depurador

También se pueden establecer puntos de interrupción en las ventanas del depurador Pila de llamadas y Desensamblado.

Establecer un punto de interrupción en la ventana Pila de llamadas

Para interrumpir la ejecución en la instrucción o línea a la que una función de llamada regresa, se puede establecer un punto de interrupción en la ventana Pila de llamadas.

Para establecer un punto de interrupción en la ventana Pila de llamadas:

  1. Para abrir la ventana Pila de llamadas, la depuración debe estar en pausa. Seleccione Depurar>Ventanas>Pila de llamadas o presione Ctrl+Alt+C.

  2. En la ventana Pila de llamadas, haga clic con el botón derecho en la función de llamada y seleccione Punto de interrupción>Insertar punto de interrupción o presione F9.

    Aparece un símbolo de punto de interrupción junto al nombre de la función llamada en el margen izquierdo de la pila de llamadas.

El punto de interrupción de la pila de llamadas aparece en la ventana Puntos de interrupción como una dirección, con una ubicación de memoria que se corresponde con la siguiente instrucción ejecutable de la función.

El depurador interrumpe la ejecución en la instrucción.

Para obtener más información sobre la pila de llamadas, consulte Cómo usar la ventana de pila de llamadas.

Si quiere realizar un seguimiento visual de los puntos de interrupción durante la ejecución del código, vea Asignar métodos en la pila de llamadas durante la depuración.

Establecer un punto de interrupción en la ventana Desensamblado

  1. Para abrir la ventana Desensamblado, la depuración debe estar en pausa. Seleccione Depurar>Windows>Desensamblaro presione Ctrl+Alt+D.

  2. En la ventana Desensamblado, haga clic en el margen izquierdo de la instrucción que quiera interrumpir. También puede seleccionarlo y presionar F9, o haga clic con el botón derecho y seleccione Punto de Interrupción>Insertar Punto de Interrupción.