Compartir a través de


Tutorial: Aprenda a depurar código de C# mediante Visual Studio

En este artículo se presentan las características del depurador de Visual Studio en un tutorial paso a paso. Si desea una visión general de las funciones del depurador, consulte Primer vistazo al depurador. Normalmente, depurar una aplicación significa ejecutar la aplicación con el depurador activado. Al realizar esta tarea, el depurador proporciona muchas maneras de ver lo que hace el código mientras se ejecuta. Puede recorrer el código y examinar los valores almacenados en variables, puede establecer relojes en variables para ver cuándo cambian los valores, puede examinar la ruta de acceso de ejecución del código, ver si se está ejecutando una rama de código, etc. Si este ejercicio es la primera vez que intenta depurar código, le recomendamos que lea Depuración para principiantes sin experiencia antes de continuar con este artículo.

Aunque la aplicación de demostración está en C#, la mayoría de las características son aplicables a C++, Visual Basic, F#, Python, JavaScript y otros lenguajes compatibles con Visual Studio (F# no admite Editar y continuar. F# y JavaScript no son compatibles con la ventana Automático). Las capturas de pantalla se encuentran en C#.

En este tutorial, hará lo siguiente:

  • Iniciar el depurador y llegar a puntos de interrupción.
  • Aprenda comandos para recorrer el código en el depurador
  • Inspeccionar variables en la información sobre datos y las ventanas del depurador
  • Examinar la pila de llamadas

Prerrequisitos

Debe tener instalados Visual Studio 2022 y la carga de trabajo Desarrollo de escritorio de .NET.

Debe tener instalados Visual Studio 2019 y la carga de trabajo Desarrollo multiplataforma de .NET Core.

Si aún no ha instalado Visual Studio, vaya a la página de descargas de Visual Studio para instalarlo de forma gratuita.

Si necesita instalar la carga de trabajo pero ya tiene Visual Studio, vaya a Tools>Obtener herramientas y características..., que abre el Instalador de Visual Studio. Se inicia el instalador de Visual Studio. Elija la carga de trabajo Desarrollo multiplataforma de .NET Core y, después, Modificar.

Si ya tiene instalado Visual Studio, pero la carga de trabajo Desarrollo de escritorio de .NET no lo está, vaya a Herramientas>Get Tools and Features... (Obtener herramientas y características...) para iniciar el Instalador de Visual Studio. En el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de escritorio de .NET y, luego, seleccione Modificar.

Creación de un proyecto

En primer lugar, cree un proyecto de aplicación de consola de .NET Core. ¡El tipo de proyecto incluye todos los archivos de plantilla que necesita, incluso antes de agregar algo!

  1. Abra Visual Studio. Si la ventana de inicio no está abierta, seleccione Archivo>Ventana de inicio.

  2. En la ventana de inicio, seleccione Crear un nuevo proyecto.

  1. En el cuadro de búsqueda de la ventana Crear un proyecto, escriba consola. A continuación, elija de C# en la lista Lenguaje y, a continuación, elija Windows en la lista Plataforma.

    Después de aplicar los filtros de idioma y plataforma, elija la plantilla Aplicación de consola para .NET Core y, a continuación, seleccione Siguiente.

    Captura de pantalla de la plantilla de C# para la aplicación de consola.

    Nota

    Si no ve la plantilla Aplicación de consola, puede instalarla desde la ventana Crear un nuevo proyecto. En el mensaje "¿No encuentras lo que estás buscando?", elige el enlace "Instalar más herramientas y características". Luego, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo multiplataforma de .NET Core.

  2. En la ventana Configurar el nuevo proyecto, escriba GetStartedDebugging en el cuadro Nombre del proyecto. A continuación, seleccione Siguiente.

  3. Seleccione la plataforma de destino recomendada (.NET 8.0 o soporte a largo plazo) y, a continuación, seleccione Crear.

  1. En el cuadro de búsqueda de la ventana Crear un proyecto, escriba consola. A continuación, elija de C# en la lista Lenguaje y, a continuación, elija Windows en la lista Plataforma.

    Después de aplicar los filtros de lenguaje y plataforma, elija la plantilla Aplicación de consola y, luego, seleccione Siguiente.

    Captura de pantalla de la plantilla

    Nota

    Si no ve la plantilla de la aplicación de consola , puede instalarla desde la ventana Crear un nuevo proyecto. En el mensaje ¿No encuentras lo que estás buscando?, elige el vínculo Instalar más herramientas y funciones. A continuación, en el Instalador de Visual Studio, elija la carga de trabajo Desarrollo de escritorio de .NET.

  2. En la ventana Configure su nuevo proyecto, escriba GetStartedDebugging en el cuadro Nombre del proyecto. A continuación, seleccione Siguiente.

  3. En la ventana Información adicional, asegúrese de que .NET 8.0 esté seleccionado en el menú desplegable Framework y, a continuación, seleccione Crear.

Visual Studio abre el nuevo proyecto.

Creación de la aplicación

En Program.cs, reemplace todo el código predeterminado por el código siguiente:

using System;

class ArrayExample
{
   static void Main()
   {
      char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
      string name = "";
      int[] a = new int[10];
      for (int i = 0; i < letters.Length; i++)
      {
         name += letters[i];
         a[i] = i + 1;
         SendMessage(name, a[i]);
      }
      Console.ReadKey();
   }

   static void SendMessage(string name, int msg)
   {
      Console.WriteLine("Hello, " + name + "! Count to " + msg);
   }
}

Inicio del depurador

  1. Presione F5 (Depurar > Iniciar depuración) o el botón Iniciar depuración Imagen del botón Iniciar depuración. en la barra de herramientas de depuración.

    Al pulsar F5, la aplicación se inicia con el depurador activado para analizar los procesos. Como de momento no hemos hecho nada especial para examinar el código. Por lo tanto, la aplicación solo se carga y ve esta salida de la consola.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    En este tutorial, eche un vistazo más a esta aplicación mediante el depurador y eche un vistazo a las características del depurador.

  2. Detenga el depurador; para ello, presione el botón de detención rojo (Shift + F5). Imagen del botón Detener depuración.

  3. En la ventana de la consola, presione una tecla para cerrar la ventana de la consola.

En su mayoría, usamos métodos abreviados de teclado aquí, ya que es una manera rápida de ejecutar comandos del depurador. También se indican comandos equivalentes, como los comandos de barra de herramientas o menús.

  1. Para iniciar el depurador, seleccione F5o elija el botón Destino de depuración de la barra de herramientas Estándar o elija el botón Iniciar depuración de la barra de herramientas Depurar o elija Depurar>Iniciar depuración en la barra de menús.

    Captura de pantalla del botón Debug Target de la barra de herramientas estándar de Visual Studio 2022.

    F5 inicia la aplicación con el depurador asociado al proceso de aplicación. Puesto que no hemos hecho nada especial para examinar el código, la aplicación se ejecuta hasta completarse y ves el resultado en la consola.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    
  2. Para detener el depurador, presione Mayús+F5 o elija el botón Detener depuración en la barra de herramientas de depuración. Otro modo es elegir Depurar>Detener depuración en la barra de menú.

    Captura de pantalla del botón Detener depuración de la barra de herramientas de depuración de Visual Studio 2022.

  3. En la ventana de la consola, seleccione cualquier tecla para cerrar la ventana de la consola.

Establecer un punto de interrupción e iniciar el depurador

  1. En el bucle for de la función Main, establezca un punto de interrupción haciendo clic en el margen izquierdo en la siguiente línea de código:

    name += letters[i];

    Círculo rojo Imagen de un punto de interrupción. aparece donde se establece el punto de interrupción.

    Los puntos de interrupción son una de las características más básicas y esenciales de una depuración confiable. Un punto de interrupción indica dónde debe suspender Visual Studio el código en ejecución para que pueda echar un vistazo a los valores de las variables, o el comportamiento de la memoria, o si se ejecuta una rama de código o no.

  2. Presione F5 o el botón Iniciar depuración. Captura de pantalla del botón Iniciar depuración. La aplicación se inicia y el depurador se ejecuta en la línea de código donde se establece el punto de interrupción.

    Establecer y alcanzar un punto de interrupción

    La flecha amarilla representa la instrucción en la que el depurador se ha detenido, lo cual también suspende la ejecución de la aplicación en el mismo punto (esta instrucción todavía no se ha ejecutado).

    Si la aplicación todavía no se está ejecutando, F5 inicia el depurador y lo detiene en el primer punto de interrupción. De lo contrario, F5 continúa ejecutando la aplicación hasta el siguiente punto de interrupción.

    Los puntos de interrupción son una característica útil cuando conoce la línea de código o la sección del código que desea examinar con detalle. Para obtener información sobre los distintos tipos de puntos de interrupción que puede establecer, como puntos de interrupción condicionales, vea Uso de puntos de interrupción.

  1. En el bucle for de la función Main, establezca un punto de interrupción haciendo clic en el margen izquierdo en la siguiente línea de código:

    name += letters[i];

    Aparece un círculo rojo donde se establece el punto de interrupción.

    Captura de pantalla de un punto de interrupción en Visual Studio 2022.

    Los puntos de interrupción son una de las características esenciales para una depuración confiable. Puede establecer puntos de interrupción en los que desea que Visual Studio pause el código en ejecución para que pueda ver los valores de las variables o el comportamiento de la memoria, o saber si se está ejecutando o no una rama de código.

  2. Para iniciar la depuración, seleccione F5o elija el botón Destino de depuración de la barra de herramientas Estándar o elija el botón Iniciar depuración de la barra de herramientas Depurar o elija Depurar>Iniciar depuración en la barra de menús. La aplicación se inicia y el depurador se ejecuta hasta la línea de código en la que haya establecido el punto de interrupción.

    Captura de pantalla que muestra un punto de interrupción en el editor de código de Visual Studio 2022, con la ejecución de código en pausa en el punto de interrupción.

    La flecha amarilla apunta a la instrucción en la que se detuvo el depurador. La ejecución de la aplicación se pausa en el mismo punto, con la instrucción aún no ejecutada.

    Cuando la aplicación no se está ejecutando, F5 inicia el depurador, que ejecuta la aplicación hasta que alcanza el primer punto de interrupción. Si la aplicación está en pausa en un punto de interrupción, F5 seguirá ejecutando la aplicación hasta que llegue al siguiente punto de interrupción.

    Los puntos de interrupción son una característica útil cuando conoce la línea o sección del código que desea examinar con detalle. Para obtener más información sobre los distintos tipos de puntos de interrupción que puede establecer, como puntos de interrupción condicionales, vea Uso de puntos de interrupción.

En su mayoría, usamos los métodos abreviados de teclado aquí, ya que es una buena manera de ejecutar rápidamente la aplicación en el depurador (los comandos equivalentes, como los comandos de menú, se muestran entre paréntesis).

  1. Mientras la ejecución del código está en pausa en la instrucción name += letters[i], mantenga el puntero sobre la variable letters y verá su valor predeterminado, el valor del primer elemento de la matriz, char[10].

    Las características que permiten inspeccionar variables son una de las características más útiles del depurador y hay diferentes maneras de hacerlo. A menudo, al intentar depurar un problema, intenta averiguar si las variables almacenan los valores que espera que tengan en un momento determinado.

  2. Expanda la variable letters para ver sus propiedades, que incluyen todos los elementos que contiene la variable.

    Captura de pantalla del depurador en pausa en la instrucción

  3. A continuación, mantenga el puntero sobre la variable name y verá su valor actual, una cadena vacía.

  4. Presione F10 dos veces, o bien elija Depurar > Depurar paso a paso por procedimientos, para avanzar hasta la llamada de método SendMessage y, después, vuelva a presionar F10.

    F10 avanza el depurador a la siguiente instrucción sin entrar en funciones ni métodos en el código de la aplicación (el código sigue ejecutándose). Al presionar F10 en la llamada al método SendMessage, omitimos el código de implementación para SendMessage (lo que quizás no nos interese en este momento).

  5. Presione F10 varias veces, o bien elija Depurar>Depurar paso a paso por procedimientos, para iterar varias veces por el bucle for, deténgase de nuevo en el punto de interrupción y mantenga el mouse sobre la variable name cada vez para comprobar su valor.

    Captura de pantalla animada del depurador de Visual Studio en la que se muestra el efecto de presionar F10 para depurar paso a paso por procedimientos y recorrer en iteración un bucle durante la depuración.

    El valor de la variable cambia con cada iteración del bucle for, mostrando los valores de f, luego fr, luego fre, etc. Para hacer que el depurador avance por el bucle más rápido en este escenario, puede presionar F5, o bien elegir Depurar>Continuar, en su lugar, lo que le permite avanzar hasta el punto de interrupción en lugar de hasta la siguiente instrucción.

    A menudo, al realizar una depuración, queremos una forma rápida de comprobar los valores de las propiedades de las variables para ver si se almacenan los valores correspondientes, y las sugerencias de datos son una buena forma de verlo.

  6. Mientras la ejecución del código permanece en pausa en el bucle for del método Main, presione F11 (o seleccione Depurar > Depurar paso a paso por instrucciones) hasta que se detenga la llamada de método SendMessage.

    Debe estar en esta línea de código:

    SendMessage(name, a[i]);

  7. Presione F11 una vez más para entrar en el método SendMessage.

    El puntero amarillo avanza hacia el método SendMessage.

    Captura de pantalla del puntero de ejecución en el método

    F11 es el comando Depurar paso a paso por instrucciones y permite avanzar la ejecución de la aplicación de instrucción en instrucción. F11 es una buena manera de examinar el flujo de ejecución con más detalle. De forma predeterminada, el depurador omite el código que no es de usuario (si quiere obtener más detalles, consulte Solo mi código).

    Imagine que ha terminado de examinar el método SendMessage y quiere salir de él, pero permanecer en el depurador. Puede hacerlo con el comando Salir de la depuración.

  8. Presione Mayús + F11 (o Depurar > Salir de la depuración).

    Este comando reanuda la ejecución de la aplicación (y avanza el depurador) hasta que se devuelva el método o función actual.

    Debería volver a estar en el bucle for del método Main, detenido en la llamada al método SendMessage. Para más información sobre las distintas formas de desplazarse por el código, vea Navegación por el código en el depurador.

  1. Mientras la ejecución de código está en pausa en la instrucción name += letters[i], mantenga el puntero sobre la variable letters para ver una sugerencia de datos que muestra el tamaño de matriz y el tipo de elemento, char[10].

    Nota

    Una de las características más útiles del depurador es su capacidad de inspeccionar una variable. A menudo, cuando intenta depurar un problema, está intentando averiguar si las variables tienen valores que espera en un momento determinado. Una buena forma de hacerlo es ver las sugerencias de datos.

  2. Expanda la variable letters para ver todos sus elementos de matriz y sus valores.

    Captura de pantalla de una sugerencia de datos del depurador de Visual Studio 2022 que muestra los valores de los elementos de la variable de matriz

  3. Mantenga el puntero sobre la variable name para ver su valor actual, que es una cadena vacía.

  4. Para avanzar el depurador a la siguiente instrucción, presione F10 o elija el botón Depurar paso a paso por procedimientos en la barra de herramientas de depuración. Otro modo es elegir Depurar > Depurar paso a paso por procedimientos en la barra de menú. Seleccione F10 dos veces más para pasar más allá de la llamada al método SendMessage.

    Al presionar F10 avanza el depurador sin depurar paso a paso por instrucciones la función ni los métodos, si bien el código todavía se ejecuta. De esta manera, omitimos la depuración del código en el método SendMessage, que no nos interesa en este momento.

  5. Para recorrer en iteración el bucle for varias veces, seleccione F10 repetidamente. Durante cada iteración del bucle, deténgase en el punto de interrupción y, luego, mantenga el puntero sobre la variable name para comprobar su valor en la sugerencia de datos.

    Captura de pantalla de una sugerencia de datos del depurador de Visual Studio 2022 que muestra el valor de cadena de la variable

    El valor de la variable cambia con cada iteración del bucle for, mostrando los valores de f, luego fr, luego fre, etc. Para hacer avanzar el depurador por el bucle más rápido, seleccione F5 en su lugar, que permite avanzar al punto de interrupción en lugar de a la instrucción siguiente.

  6. Mientras la ejecución de código está en pausa en el bucle for del método Main, seleccione F11, o elija el botón Entrar en la barra de herramientas de Depuración, o elija Depurar>Entrar desde la barra de menús, hasta que llegue a la llamada al método SendMessage.

    El depurador debe pausarse en esta línea de código:

    SendMessage(name, a[i]);

  7. Para entrar en el método SendMessage, vuelva a seleccionar F11.

    El puntero amarillo avanza hacia el método SendMessage.

    Captura de pantalla que muestra el puntero de ejecución del depurador dentro del método

    F11 le ayuda a examinar el flujo de ejecución del código en mayor profundidad. Para entrar en un método desde una llamada de método, seleccione F11. De forma predeterminada, el depurador omite entrar en métodos que no son de usuario. Para obtener información sobre cómo depurar código que no es de usuario, consulte Solo mi código.

    Una vez que haya terminado de depurar el método SendMessage, estará listo para volver al bucle for del método main.

  8. Para salir del método SendMessage, presione Mayús+F11 o elija el botón Salir de la depuración de la barra de herramientas de depuración. Otro modo es elegir Depurar>Salir de la depuración en la barra de menú.

    La opción Salir de la depuración reanuda la ejecución de la aplicación y hace avanzar el depurador hasta que se devuelve el método o la función actuales.

    Ve el puntero amarillo de nuevo en el bucle for del método Main, detenido en la llamada de método SendMessage. Para más información sobre las distintas formas de desplazarse por el código, vea Navegación por el código en el depurador.

  1. Seleccione F5 para avanzar al punto de interrupción de nuevo.

  2. En el editor de código, desplácese hacia abajo y mantenga el puntero sobre el método Console.WriteLine del método SendMessage hasta que el botón verde Ejecutar hasta hacer clic Imagen del botón Ejecutar hasta hacer clic. aparezca. La información sobre herramientas del botón muestra "Ejecutar hasta aquí".

    Captura de pantalla del botón Ejecutar hasta hacer clic.

    Nota

    El botón Run to Click (Ejecutar hasta hacer clic) es una novedad de Visual Studio 2017. (Si no ve el botón de flecha verde, use F11 en este ejemplo para mover el depurador a la posición correcta).

  3. Seleccione el botón Ejecutar hasta clic. Imagen del botón Ejecutar hasta hacer clic.

    El depurador avanza hasta el método Console.WriteLine.

    El uso de este botón es similar a establecer un punto de interrupción temporal. Run to Click resulta útil para desplazarse rápidamente dentro de una parte visible del código de la aplicación (puede seleccionar en cualquier archivo abierto).

  1. Seleccione F5 para avanzar al punto de interrupción de nuevo.

  2. En el editor de código, mantenga el puntero sobre la llamada de método Console.WriteLine del método SendMessage hasta que aparezca el botón verde Ejecutar hasta hacer clic. La información sobre herramientas del botón muestra "Ejecutar hasta aquí".

    Captura de pantalla que muestra el botón Ejecutar hasta hacer clic en Visual Studio 2022.

  3. Elija el botón Ejecutar hasta hacer clic. Como alternativa, con el cursor en la instrucción Console.WriteLine, seleccione Ctrl+F10. O bien, haga clic con el botón derecho en la llamada de método Console.WriteLine y elija Ejecutar hasta el cursor en el menú contextual.

    El depurador avanza hasta la llamada de método Console.WriteLine.

    El uso del botón Run to Click es similar a configurar un breakpoint temporal y es práctico para desplazarse rápidamente en una región visible del código de tu aplicación en un archivo abierto.

Reinicio rápido de la aplicación

Seleccione el botón Reiniciar Imagen del botón Reiniciar aplicación. en la barra de herramientas de depuración (Ctrl + Mayús + F5).

Al presionar Reiniciar, se ahorra tiempo en comparación con detener la aplicación y reiniciar el depurador. El depurador se detiene en el primer punto de interrupción que se alcanza al ejecutar el código.

El depurador se detiene nuevamente en el punto de interrupción que previamente estableciste dentro del bucle for.

Para volver a ejecutar la aplicación desde el principio en el depurador, seleccione Ctrl+Mayús+F5o elija el botón Reiniciar de la barra de herramientas Depurar o elija Depurar>Reiniciar en la barra de menús.

Captura de pantalla del botón

Reiniciar detiene el depurador y, luego, lo reinicia, en un paso. Cuando se reinicie el depurador, se ejecuta hasta el primer punto de interrupción, que es el punto de interrupción que estableció anteriormente dentro del bucle for y, luego, se pausa.

Inspección de variables con las ventanas Automático y Variables locales

  1. Vea la ventana Automático, en la parte inferior del editor de código.

    Si está cerrada, ábrala mientras está en pausa en el depurador seleccionando Depurar>Ventanas>Automático.

    En la ventana Autos, ves las variables y sus valores actuales. La ventana Autos muestra todas las variables que se usan en la línea actual o en la línea anterior (compruebe la documentación para el comportamiento específico del lenguaje).

  2. A continuación, examine la ventana Variables locales en una pestaña situada junto a la ventana Automático.

  3. Expanda la variable letters para mostrar los elementos que contiene.

    Captura de pantalla de la ventana Variables locales en Visual Studio.

    En la ventana Variables locales se muestran las variables que se encuentran en el ámbito actual, es decir, en el contexto de ejecución actual.

Las ventanas Automático y Variables locales muestran valores de variables durante la depuración. Las ventanas solo están disponibles durante una sesión de depuración. La ventana Autos muestra las variables usadas en la línea actual donde se encuentra el depurador y la línea anterior. La ventana Variables locales muestra las variables definidas en el ámbito local, que suele ser la función o el método actuales.

  1. Mientras el depurador está en pausa, examine la ventana Automático de la parte inferior del editor de código.

    Si la ventana Automático está cerrada, presione Ctrl+D, A, o elija Depurar>Ventanas>Automático en la barra de menú.

  2. Con el depurador aún en pausa, examine la ventana Variables locales, en una pestaña situada junto a la ventana Automático.

    Si la ventana Variables locales está cerrada, seleccione Ctrl+D, Lo elija Depurar>Windows>Variables locales.

  3. En la ventana Variables locales, expanda la variable letters para ver sus elementos de matriz y sus valores.

    Captura de pantalla de la ventana Variables locales de Visual Studio 2022, con la variable de matriz

Para más información sobre las ventanas Automático y Variables locales, consulte Inspección de las variables en las ventanas Variables locales y Automático.

Establecimiento de un reloj

En la ventana del editor de código principal, haga clic con el botón derecho en la variable name y elija Agregar inspección.

En la parte inferior del editor de código se abre la ventana Inspección. Puede usar una ventana Inspección para especificar una variable (o una expresión) que quiera supervisar.

Ahora, ha establecido una inspección en la variable name y puede ver cómo cambia su valor según avanza en el depurador. A diferencia de las otras ventanas de variables, en la ventana Inspección siempre se muestran las variables que está viendo (y se atenúan cuando están fuera del ámbito).

Puede especificar una variable, o una expresión, que quiera vigilar a medida que avanza por el código agregándola a la ventana Inspección.

  1. Mientras el depurador está en pausa, haga clic con el botón derecho en la variable name y elija Agregar inspección.

    La ventana Watch se abre por defecto en la parte inferior del editor de código.

  2. Ahora que ha establecido una inspección sobre la variable name, avance por el código para ver que el valor de la variable name cambia con cada iteración del bucle for.

    A diferencia de las otras ventanas de variables, en la ventana Inspección siempre se muestran las variables que está viendo. Las variables que están fuera del ámbito se muestran como no disponibles.

Para obtener más información sobre la ventana Inspección, consulte Inspección de variables con las ventanas de inspección.

Examinar la pila de llamadas

  1. Mientras la ejecución de código está en pausa en el bucle for, seleccione la ventana pila de llamadas, que está abierta de forma predeterminada en el panel inferior derecho.

    Si está cerrada, ábrala mientras está en pausa en el depurador seleccionando Depurar>Ventanas>Pila de llamadas.

  2. Seleccione F11 varias veces hasta que vea que el depurador se detiene en el método SendMessage. Eche un vistazo a la ventana Pila de llamadas.

    Captura de pantalla de la ventana

    En la ventana Pila de llamadas se muestra el orden en el que se llama a los métodos y las funciones. La línea superior muestra la función actual (el método SendMessage en esta aplicación). La segunda línea muestra que se llamó a SendMessage desde el método Main, etc.

    Nota

    La ventana Pila de llamadas es similar a la perspectiva de depuración de algunos IDE, como Eclipse.

    La pila de llamadas es una buena manera de examinar y comprender el flujo de ejecución de una aplicación.

    Puede hacer doble clic en una línea de código para examinar ese código fuente, lo que también cambia el ámbito actual que está siendo inspeccionado por el depurador. Esta acción no hace avanzar el depurador.

    También puede utilizar los menús con el botón derecho en la ventana del Call Stack para realizar otras acciones. Por ejemplo, puede insertar puntos de interrupción en funciones especificadas, avanzar el depurador mediante Ejecutar hasta el cursor y examinar el código fuente. Para obtener más información, vea el artículo sobre cómo examinar la pila de llamadas.

La opción Pila de llamadas puede ayudarle a comprender el flujo de ejecución de la aplicación, ya que muestra el orden en el que se llama a los métodos y las funciones.

  1. Mientras el depurador está en pausa en el bucle for, examine la ventana Pila de llamadas, que se abre de forma predeterminada en el panel inferior derecho del editor de código.

    Si la ventana Pila de llamadas está cerrada, presione Ctrl+D, C, o elija Depurar>Ventanas>Pila de llamadas en la barra de menú.

    En la ventana Pila de llamadas, ve el puntero amarillo en el método Main actual.

  2. Presione F11 varias veces hasta que vea que el depurador se detiene en el método SendMessage.

    La línea superior de la ventana Pila de llamadas muestra la función actual, que es el método SendMessage. La segunda línea muestra que se llamó al método SendMessage desde el método Main.

    Captura de pantalla de la ventana Pila de llamadas en Visual Studio 2022.

    Nota

    La ventana Pila de llamadas es similar a la perspectiva de depuración de algunos IDE, como Eclipse.

    En la ventana Pila de llamadas, puede hacer doble clic en una línea de código para ir a ese código fuente, que cambia el ámbito actual bajo inspección por el depurador. Esta acción no hace avanzar el depurador.

    También puede usar los menús contextuales de la ventana Pila de llamadas para hacer otras cosas. Por ejemplo, puede insertar puntos de interrupción en funciones especificadas, hacer avanzar el depurador mediante la función Ejecutar hasta el cursor o ir al código fuente.

Para más información sobre la ventana Pila de llamadas, consulte Examen de la pila de llamadas.

Pasos siguientes

En este tutorial, ha aprendido a iniciar el depurador, recorrer el código e inspeccionar variables. Puede ser que le interese analizar las características del depurador con más detenimiento, así como consultar los vínculos disponibles con más información.