Compartir a través de


Tutorial: Depuración de una aplicación de consola de .NET mediante Visual Studio Code

En este tutorial se presentan las herramientas de depuración disponibles en Visual Studio Code para trabajar con aplicaciones .NET.

Prerrequisitos

Uso de la configuración de compilación de depuración

Depuración y Versión son las configuraciones de compilación integradas de .NET. Use la configuración de compilación Depuración para depurar y la configuración de compilación Versión para la distribución final de la versión.

En la configuración de depuración, un programa se compila con información de depuración simbólica completa y sin optimización. La optimización complica la depuración, ya que la relación entre el código fuente y las instrucciones generadas es más compleja. La configuración de versión del programa no contiene información de depuración simbólica y está totalmente optimizada.

De forma predeterminada, la configuración de lanzamiento de Visual Studio Code usa la configuración de compilación Depuración, por lo que no es necesario cambiarla antes de realizar esta operación.

  1. Inicie Visual Studio Code.

  2. Abra la carpeta del proyecto que creó en Creación de una aplicación de consola de .NET mediante Visual Studio Code.

Establecer un punto de interrupción

Un punto de interrupción interrumpe temporalmente la ejecución de la aplicación antes de que se ejecute la línea que lo incluye.

  1. Abra el archivo Program.cs.

  2. Establezca un punto de interrupción en la línea que muestre el nombre, la fecha y la hora; para ello, haga clic en el margen izquierdo de la ventana de código. El margen izquierdo está a la izquierda de los números de línea. Otras maneras de establecer un punto de interrupción consisten en presionar F9 o seleccionar Ejecutar>Alternar punto de interrupción en el menú mientras se elige la línea de código.

    Visual Studio Code indica la línea en la que se establece el punto de interrupción mostrando un punto rojo en el margen izquierdo.

    Punto de interrupción

Iniciar depuración

  1. Para abrir la vista Depurar, seleccione el icono Depuración en el menú del lado izquierdo.

    Abrir la pestaña Depurar en Visual Studio Code

  2. Seleccione Ejecutar y depurar. Si se le pide, seleccione C# y, a continuación, seleccione C#: Iniciar proyecto. Otras formas de iniciar el programa en modo de depuración son presionar F5 o elegir Ejecutar>Iniciar depuración en el menú.

    Iniciar depuración

  3. Si se le pide que seleccione Configuración de lanzamiento, seleccione C#: HelloWorld HelloWorld.

  4. Seleccione la pestaña Consola de Depuración para ver el mensaje "¿Cuál es tu nombre?" que muestra el programa antes de esperar una respuesta.

    Seleccione la pestaña Consola de depuración

  5. Escriba una cadena en la ventana Consola de depuración para responder a la pregunta del nombre y presione Intro.

    La ejecución del programa se detiene cuando alcanza el punto de interrupción y antes de que se ejecute el método Console.WriteLine. La sección Locales de la ventana Variables muestra los valores de las variables definidas en el método actualmente en ejecución.

    Punto de interrupción alcanzado donde se muestran las variables locales

Uso de la consola de depuración

La ventana Consola de depuración permite interactuar con la aplicación que está depurando. Puede cambiar el valor de las variables para ver cómo afecta al programa.

  1. Seleccione la pestaña Consola de depuración.

  2. Escriba name = "Gracie" en el símbolo del sistema de la parte inferior de la ventana Consola de depuración y presione Intro.

    Cambiar valores de variable

  3. Escriba currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en la parte inferior de la ventana Consola de depuración y presione Intro.

    La ventana Variables muestra los nuevos valores de las variables name y currentDate.

  4. Para continuar la ejecución del programa, seleccione el botón continuar de la barra de herramientas. Otra manera de continuar es presionar F5.

    Continuar la depuración

    Los valores mostrados en la ventana de la consola corresponden a los cambios realizados en Consola de depuración.

    Terminal que muestra los valores especificados

  5. Presione Intro para salir de la aplicación y detenga la depuración.

Establecimiento de un punto de interrupción condicional

El programa muestra la cadena que escribe el usuario. ¿Qué ocurre si el usuario no escribe nada? Puede probarlo con una característica de depuración muy útil denominada Punto de interrupción condicional.

  1. Haga clic con el botón derecho (Ctrl-haga clic en macOS) en el punto rojo que representa el punto de interrupción. En el menú contextual, seleccione Editar punto de interrupción para abrir un cuadro de diálogo que le permita escribir una expresión condicional.

    Menú contextual de Punto de interrupción

  2. Seleccione Expression en el menú desplegable, escriba esta expresión condicional y presione Entrar.

    String.IsNullOrEmpty(name)
    

    Escriba una expresión condicional

    Cada vez que se alcanza el punto de interrupción, el depurador llama al método String.IsNullOrEmpty(name) y se interrumpe en esta línea solo si la llamada al método devuelve true.

    En lugar de una expresión condicional, puede especificar un número de llamadas, que interrumpe la ejecución del programa antes de que se ejecute una instrucción un número de veces especificado. Otra opción consiste en especificar una condición de filtro , que interrumpe la ejecución del programa en función de estos atributos como un identificador de subproceso, un nombre de proceso o un nombre de subproceso.

  3. Inicie el programa en modo de depuración presionando F5.

  4. En la pestaña Consola de depuración, presione Intro cuando se le pida que escriba su nombre.

    Dado que se ha cumplido la condición especificada (name es null o String.Empty), la ejecución del programa se detiene cuando alcanza el punto de interrupción y antes de que se ejecute el método Console.WriteLine.

    La ventana de variables muestra que el valor de la variable name es ""o String.Empty.

  5. Confirme que el valor es una cadena vacía escribiendo la siguiente instrucción en el indicador de la consola de depuración y presionando Enter. El resultado es true.

    name == String.Empty
    
  6. Seleccione el botón Continuar de la barra de herramientas para continuar con la ejecución del programa.

  7. Presione Intro para salir del programa y detenga la depuración.

  8. Borre el punto de interrupción haciendo clic en el punto del margen izquierdo de la ventana de código. Otras maneras de borrar un punto de interrupción consisten en presionar F9 o elegir Ejecutar > Alternar punto de interrupción en el menú mientras se selecciona la línea de código.

  9. Si recibe una advertencia que indica que se perderá la condición del punto de interrupción, seleccione Quitar punto de interrupción.

Ejecución paso a paso de un programa

Visual Studio Code también le permite recorrer paso a paso línea por línea a través de un programa y supervisar su ejecución. Normalmente, establecería un punto de interrupción y seguiría el flujo del programa a través de una pequeña parte del código del programa. Puesto que este programa es pequeño, usted puede ejecutar paso a paso todo el programa.

  1. Establezca un punto de interrupción en la llave de apertura del método Main.

  2. Presione F5 para iniciar la depuración.

    Visual Studio Code resalta la línea de punto de ruptura.

    En este momento, la ventana Variables de muestra que la matriz de está vacía y y tienen valores predeterminados.

  3. Seleccione Ejecutar>Paso a paso por instrucciones o presione F11.

    Botón Step-Into

    Visual Studio Code resalta la línea siguiente.

  4. Seleccione Ejecutar>Entrar en o presione F11.

    Visual Studio Code ejecuta Console.WriteLine para el mensaje de nombre y resalta la línea de ejecución siguiente. La línea siguiente es Console.ReadLine para name. La ventana Variables permanece sin cambios y la pestaña Terminal muestra el mensaje "¿Cuál es tu nombre?".

  5. Seleccione Ejecutar>Entrar en o presione F11.

    Visual Studio resalta la asignación de variables name. La ventana Variables muestra que name todavía es null.

  6. Responda a la solicitud introduciendo una cadena en la pestaña Terminal y presionando Enter.

    Es posible que la pestaña Consola de depuración no muestre la cadena mientras la está escribiendo, pero el método Console.ReadLine capturará la entrada.

  7. Seleccione Ejecutar>Paso a paso por instrucciones o presione F11.

    Visual Studio Code resalta la asignación de la variable currentDate. La ventana de Variables muestra el valor devuelto por la llamada al método Console.ReadLine. La pestaña Terminal muestra la cadena que escribió en el prompt.

  8. Seleccione Ejecutar>Paso a paso por instrucciones o presione F11.

    La ventana Variables muestra el valor de la variable currentDate después de la asignación de la propiedad DateTime.Now.

  9. Seleccione Ejecutar>Paso a paso por instrucciones o presione F11.

    Visual Studio Code llama al método Console.WriteLine(String, Object, Object). La ventana de la consola muestra la cadena con formato.

  10. Seleccione Ejecutar>Paso a paso para salir o presione Mayús+F11.

    botón Botón de depurar paso a paso para salir

    El terminal muestra "Presione cualquier tecla para salir..."

  11. Presione cualquier tecla para salir del programa.

Uso de la configuración de compilación de versión

Una vez que ha probado la versión de depuración de la aplicación, también debe compilar y probar la versión de lanzamiento. La versión de lanzamiento incorpora optimizaciones del compilador que pueden afectar al comportamiento de una aplicación. Por ejemplo, las optimizaciones del compilador diseñadas para mejorar el rendimiento pueden crear condiciones de carrera en aplicaciones multiproceso.

Para compilar y probar la versión de lanzamiento de la aplicación de consola, abra Terminal y ejecute el siguiente comando:

dotnet run --configuration Release

Recursos adicionales

Pasos siguientes

En este tutorial, ha usado las herramientas de depuración de Visual Studio Code. En el siguiente tutorial, publicará una versión implementable de la aplicación.