Compartir a través de


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

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

Requisitos previos

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, el programa se compila sin optimizar y con toda la información de depuración simbólica. 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 ha creado en Creación de una aplicación de consola de .NET con 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 marca la línea donde se establece el punto de interrupción con un punto rojo en el margen izquierdo.

    Breakpoint set

Configuración para la entrada de terminal

El punto de interrupción se encuentra después de una llamada al método Console.ReadLine. La Consola de depuración no acepta la entrada de terminal para un programa en ejecución. Para controlar la entrada de terminal durante la depuración, puede usar el terminal integrado (una de las ventanas de Visual Studio Code) o un terminal externo. En este tutorial, usará el terminal integrado.

  1. La carpeta del proyecto contiene una carpeta .vscode. Abra el archivo launch.json que se encuentra en la carpeta .vscode.

  2. En launch.json, cambie el valor console de internalConsole a integratedTerminal:

    "console": "integratedTerminal",
    
  3. Guarde los cambios.

Iniciar depuración

  1. Abra la vista Depurar mediante el icono de depuración que hay en el menú de la izquierda.

    Open the Debug tab in Visual Studio Code

  2. Seleccione la flecha verde en la parte superior del panel, junto a .NET Core Launch (console) (Inicio de .NET Core [consola]). Otras maneras de iniciar el programa en modo de depuración son presionar F5 o elegir Ejecutar>Iniciar depuración en el menú.

    Start debugging

  3. Seleccione la pestaña Terminal para ver el mensaje "¿Cuál es su nombre?" que muestra el programa antes de esperar una respuesta.

    Select the Terminal tab

  4. Escriba una cadena en la ventana Terminal para responder a la pregunta del nombre y presione Entrar.

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

    Breakpoint hit, showing Locals

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 esto a su 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 la tecla Entrar.

    Change variable values

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

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

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

    Continue debugging

  5. Seleccione de nuevo la pestaña Terminal.

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

    Terminal showing the entered values

  6. Presione cualquier tecla 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é sucede 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 (o presione Ctrl y haga clic en macOS) sobre el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Editar punto de interrupción y se abrirá un cuadro de diálogo donde podrá escribir una expresión condicional.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 atributos tales como un identificador de subproceso, un nombre de proceso o un nombre de subproceso.

  3. Inicie el programa con la depuración presionando F5.

  4. En la ventana Terminal, cuando se le pida que escriba su nombre, presione la tecla Entrar.

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

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

  5. Confirme que el valor es una cadena vacía; para ello, escriba esta instrucción en la ventana Consola de depuración y presionando Entrar. El resultado es true.

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

  7. Seleccione la pestaña Terminal y presione cualquier tecla para salir del programa y detener la depuración.

  8. Para borrar el punto de interrupción, haga clic en el punto en el 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 permite recorrer línea a línea un programa y supervisar su ejecución. Normalmente, establecería un punto de interrupción y seguiría el flujo del programa mediante una pequeña parte de su código de programa. Como este programa es pequeño, puede ejecutar paso a paso el programa entero.

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

  2. Presiona F5 para iniciar la depuración.

    Visual Studio Code resalta la línea del punto de interrupción.

    En este punto, la ventana Variables muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados.

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

    Step-Into button

    Visual Studio Code resalta la línea siguiente.

  4. Seleccione Ejecutar>Paso a paso por instrucciones 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 no cambia y la pestaña Terminal muestra el mensaje "¿Cuál es su nombre?".

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

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

  6. Para responder al mensaje, escriba una cadena en la ventana Terminal y presione Entrar.

    Es posible que la pestaña Terminal 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 Variables muestra el valor devuelto por la llamada al método Console.ReadLine. En la pestaña Terminal se muestra la cadena que escribió en el símbolo del sistema.

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

    La ventana Variables muestra el valor de la variable currentDate tras la asignación desde 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.

    Step-Out button

  11. Seleccione la pestaña Terminal.

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

  12. Presione cualquier tecla para salir de la aplicación.

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 que están 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 el Terminal y ejecute este 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 de la aplicación que se puede implementar.

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

Requisitos previos

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, el programa se compila sin optimizar y con toda la información de depuración simbólica. 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 ha creado en Creación de una aplicación de consola de .NET con 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 marca la línea donde se establece el punto de interrupción con un punto rojo en el margen izquierdo.

    Breakpoint set

Configuración para la entrada de terminal

El punto de interrupción se encuentra después de una llamada al método Console.ReadLine. La Consola de depuración no acepta la entrada de terminal para un programa en ejecución. Para controlar la entrada de terminal durante la depuración, puede usar el terminal integrado (una de las ventanas de Visual Studio Code) o un terminal externo. En este tutorial, usará el terminal integrado.

  1. La carpeta del proyecto contiene una carpeta .vscode. Abra el archivo launch.json que se encuentra en la carpeta .vscode.

  2. En launch.json, cambie el valor console de internalConsole a integratedTerminal:

    "console": "integratedTerminal",
    
  3. Guarde los cambios.

Iniciar depuración

  1. Abra la vista Depurar mediante el icono de depuración que hay en el menú de la izquierda.

    Open the Debug tab in Visual Studio Code

  2. Seleccione la flecha verde en la parte superior del panel, junto a .NET Core Launch (console) (Inicio de .NET Core [consola]). Otras maneras de iniciar el programa en modo de depuración son presionar F5 o elegir Ejecutar>Iniciar depuración en el menú.

    Start debugging

  3. Seleccione la pestaña Terminal para ver el mensaje "¿Cuál es su nombre?" que muestra el programa antes de esperar una respuesta.

    Select the Terminal tab

  4. Escriba una cadena en la ventana Terminal para responder a la pregunta del nombre y presione Entrar.

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

    Breakpoint hit, showing Locals

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 esto a su 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 la tecla Entrar.

    Change variable values

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

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

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

    Continue debugging

  5. Seleccione de nuevo la pestaña Terminal.

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

    Terminal showing the entered values

  6. Presione cualquier tecla 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é sucede 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 (o presione Ctrl y haga clic en macOS) sobre el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Editar punto de interrupción y se abrirá un cuadro de diálogo donde podrá escribir una expresión condicional.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 atributos tales como un identificador de subproceso, un nombre de proceso o un nombre de subproceso.

  3. Inicie el programa con la depuración presionando F5.

  4. En la ventana Terminal, cuando se le pida que escriba su nombre, presione la tecla Entrar.

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

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

  5. Confirme que el valor es una cadena vacía; para ello, escriba esta instrucción en la ventana Consola de depuración y presionando Entrar. El resultado es true.

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

  7. Seleccione la pestaña Terminal y presione cualquier tecla para salir del programa y detener la depuración.

  8. Para borrar el punto de interrupción, haga clic en el punto en el 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 permite recorrer línea a línea un programa y supervisar su ejecución. Normalmente, establecería un punto de interrupción y seguiría el flujo del programa mediante una pequeña parte de su código de programa. Como este programa es pequeño, puede ejecutar paso a paso el programa entero.

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

  2. Presiona F5 para iniciar la depuración.

    Visual Studio Code resalta la línea del punto de interrupción.

    En este punto, la ventana Variables muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados.

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

    Step-Into button

    Visual Studio Code resalta la línea siguiente.

  4. Seleccione Ejecutar>Paso a paso por instrucciones 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 no cambia y la pestaña Terminal muestra el mensaje "¿Cuál es su nombre?".

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

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

  6. Para responder al mensaje, escriba una cadena en la ventana Terminal y presione Entrar.

    Es posible que la pestaña Terminal 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 Variables muestra el valor devuelto por la llamada al método Console.ReadLine. En la pestaña Terminal se muestra la cadena que escribió en el símbolo del sistema.

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

    La ventana Variables muestra el valor de la variable currentDate tras la asignación desde 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.

    Step-Out button

  11. Seleccione la pestaña Terminal.

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

  12. Presione cualquier tecla para salir de la aplicación.

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 que están 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 el Terminal y ejecute este 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 de la aplicación que se puede implementar.

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

Requisitos previos

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, el programa se compila sin optimizar y con toda la información de depuración simbólica. 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 ha creado en Creación de una aplicación de consola de .NET con 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 marca la línea donde se establece el punto de interrupción con un punto rojo en el margen izquierdo.

    Breakpoint set

Configuración para la entrada de terminal

El punto de interrupción se encuentra después de una llamada al método Console.ReadLine. La Consola de depuración no acepta la entrada de terminal para un programa en ejecución. Para controlar la entrada de terminal durante la depuración, puede usar el terminal integrado (una de las ventanas de Visual Studio Code) o un terminal externo. En este tutorial, usará el terminal integrado.

  1. Abra .vscode/launch.json.

  2. Cambie la opción console de internalConsole a integratedTerminal:

    "console": "integratedTerminal",
    
  3. Guarde los cambios.

Iniciar depuración

  1. Abra la vista Depurar mediante el icono de depuración que hay en el menú de la izquierda.

    Open the Debug tab in Visual Studio Code

  2. Seleccione la flecha verde en la parte superior del panel, junto a .NET Core Launch (console) (Inicio de .NET Core [consola]). Otras maneras de iniciar el programa en modo de depuración son presionar F5 o elegir Ejecutar>Iniciar depuración en el menú.

    Start debugging

  3. Seleccione la pestaña Terminal para ver el mensaje "¿Cuál es su nombre?" que muestra el programa antes de esperar una respuesta.

    Select the Terminal tab

  4. Escriba una cadena en la ventana Terminal para responder a la pregunta del nombre y presione Entrar.

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

    Breakpoint hit, showing Locals

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 esto a su 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 la tecla Entrar.

    Change variable values

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

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

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

    Continue debugging

  5. Seleccione de nuevo la pestaña Terminal.

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

    Terminal showing the entered values

  6. Presione cualquier tecla 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é sucede 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 (o presione Ctrl y haga clic en macOS) sobre el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Editar punto de interrupción y se abrirá un cuadro de diálogo donde podrá escribir una expresión condicional.

    Breakpoint context menu

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

    String.IsNullOrEmpty(name)
    

    Enter a conditional expression

    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 atributos tales como un identificador de subproceso, un nombre de proceso o un nombre de subproceso.

  3. Inicie el programa con la depuración presionando F5.

  4. En la ventana Terminal, cuando se le pida que escriba su nombre, presione la tecla Entrar.

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

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

  5. Confirme que el valor es una cadena vacía; para ello, escriba esta instrucción en la ventana Consola de depuración y presionando Entrar. El resultado es true.

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

  7. Seleccione la pestaña Terminal y presione cualquier tecla para salir del programa y detener la depuración.

  8. Para borrar el punto de interrupción, haga clic en el punto en el 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 permite recorrer línea a línea un programa y supervisar su ejecución. Normalmente, establecería un punto de interrupción y seguiría el flujo del programa mediante una pequeña parte de su código de programa. Como este programa es pequeño, puede ejecutar paso a paso el programa entero.

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

  2. Presiona F5 para iniciar la depuración.

    Visual Studio Code resalta la línea del punto de interrupción.

    En este punto, la ventana Variables muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados.

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

    Step-Into button

    Visual Studio Code resalta la línea siguiente.

  4. Seleccione Ejecutar>Paso a paso por instrucciones 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 no cambia y la pestaña Terminal muestra el mensaje "¿Cuál es su nombre?".

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

    Visual Studio resalta la asignación de la variable name. La ventana Variables está desactivada.

  6. Para responder al mensaje, escriba una cadena en la ventana Terminal y presione Entrar.

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

    La ventana Variables muestra el valor devuelto por la llamada al método Console.ReadLine.

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

    Visual Studio Code resalta la asignación de la variable currentDate. En la pestaña Terminal se muestra la cadena que escribió en el símbolo del sistema.

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

    La ventana Variables muestra el valor de la variable currentDate tras la asignación desde 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.

    Step-Out button

  11. Seleccione la pestaña Terminal.

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

  12. Presione cualquier tecla para salir de la aplicación.

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 que están 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 el Terminal y ejecute este 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 de la aplicación que se puede implementar.