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

En este tutorial se presentan las herramientas de depuración que hay disponibles en Visual Studio.

Importante

Todos los métodos abreviados de teclado se basan en los valores predeterminados de Visual Studio. Los métodos abreviados de teclado pueden variar; para más información al respecto, consulte Métodos abreviados de teclado en Visual Studio.

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 Visual Studio. 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, Visual Studio usa la configuración de compilación Depuración, por lo que no es necesario cambiarla antes de depurar.

  1. Inicie Visual Studio.

  2. Abra el proyecto que ha creado en Creación de una aplicación de consola de .NET con Visual Studio.

    La configuración de compilación actual se muestra en la barra de herramientas. En la siguiente imagen de la barra de herramientas se muestra que Visual Studio está configurado para compilar la versión de depuración de la aplicación:

    Visual Studio toolbar with debug highlighted

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 con el punto de interrupción.

  1. 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 de esa línea. 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 colocar el cursor en la línea de código y, después, presionar F9 o seleccionar Depurar>Alternar punto de interrupción en la barra de menú.

    En esta imagen vemos que, para indicar la línea en la que se establece el punto de interrupción, Visual Studio lo resalta y muestra un punto rojo en el margen izquierdo.

    Visual Studio Program window with breakpoint set

  2. Presione F5 para ejecutar el programa en modo de depuración. Otra manera de iniciar la depuración es elegir Depuración>Iniciar depuración en el menú.

  3. Cuando el sistema le pida un nombre, escriba una cadena en la ventana de consola y luego presione Entrar.

  4. 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 ventana Variables locales muestra los valores de las variables definidas en el método que se ejecuta actualmente.

    Screenshot of a breakpoint in Visual Studio

Uso de la ventana Inmediato

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

  1. Si la ventana Inmediato no está visible, muéstrela; para ello, elija Depurar>Ventanas>Inmediato.

  2. Escriba name = "Gracie" en la ventana Inmediato y presione la tecla Entrar.

  3. Escriba currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en la ventana Inmediato y presione la tecla Entrar.

    La ventana Inmediato muestra el valor de la variable de cadena y las propiedades del valor DateTime. Además, los valores de las variables se actualizan en la ventana Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Presione F5 para que continúe la ejecución del programa. Otra manera de hacerlo es elegir Depuración>Continuar en el menú.

    Los valores mostrados en la ventana de la consola corresponden a los cambios realizados en la ventana Inmediato.

    Console window showing the entered values

  5. 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 en el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Condiciones para abrir el cuadro de diálogo Configuración del punto de interrupción. Active la casilla Condiciones si aún no está seleccionada.

    Editor showing breakpoint settings panel - C#

  2. En Expresión condicional, escriba el código siguiente en el campo que muestra el código de ejemplo que comprueba si x es 5.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    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. Seleccione Cerrar para cerrar el cuadro de diálogo.

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

  5. En la ventana de consola, cuando se le pida que escriba su nombre, presione la tecla Entrar.

  6. 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.

  7. Seleccione la ventana Variables locales, que muestra los valores de las variables que son locales para el método que se ejecuta actualmente. En este caso, Main es el método que se está ejecutando actualmente. Observe que el valor de la variable name es "" o String.Empty.

  8. Confirme que el valor es una cadena vacía escribiendo la siguiente instrucción en la ventana Inmediato y presionando Entrar. El resultado es true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    El signo de interrogación dirige la ventana Inmediato para evaluar una expresión.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Presione F5 para que continúe la ejecución del programa.

  10. Presione cualquier tecla para cerrar la ventana de consola y detener la depuración.

  11. Para borrar el punto de interrupción, haga clic en el punto en el margen izquierdo de la ventana de código. Otras formas de borrar un punto de interrupción consisten en presionar F9 o elegir Depurar > Alternar punto de interrupción mientras se selecciona la línea de código.

Ejecución paso a paso de un programa

Visual Studio también le 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. Elija Depurar>Depurar paso a paso por instrucciones. Otra manera de depurar una instrucción cada vez es presionar F11.

    Visual Studio resalta y muestra una flecha junto a la siguiente línea de ejecución.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    En este punto, la ventana Variables locales muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados. Además, Visual Studio ha abierto una ventana de consola en blanco.

  2. Presione F11. Visual Studio ahora resalta la siguiente línea de ejecución. La ventana Variables locales no cambia y la ventana de consola permanece en blanco.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables name. La ventana Variables locales muestra que name es null, y la ventana de consola muestra la cadena "What is your name?".

  4. Para responder a la solicitud, escriba una cadena en la ventana de consola y presione Entrar. La consola no responde y la cadena que especificó no se muestra en la ventana de la consola, pero el método Console.ReadLine capturará en cambio la entrada.

  5. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables currentDate. La ventana Variables locales muestra el valor devuelto por la llamada al método Console.ReadLine. La ventana de la consola también muestra la cadena que escribió en la solicitud.

  6. Presione F11. La ventana Variables locales muestra el valor de la variable currentDate tras la asignación desde la propiedad DateTime.Now. La ventana de consola permanece sin cambios.

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

  8. Elija Depurar>Depurar paso a paso para salir. Otra manera de detener la ejecución paso a paso es presionar Mayús+F11.

    La ventana de la consola muestra un mensaje y espera a que presione una tecla.

  9. Presione cualquier tecla para cerrar la ventana de consola y detener la depuració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 en ocasiones afectan negativamente 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 la consola, cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.

default Visual Studio toolbar with release highlighted

Cuando presiona F5 o elije Compilar solución en el menú Compilar, Visual Studio compila la versión de lanzamiento de la aplicación. Puede probarla como hizo con la versión de depuración.

Pasos siguientes

En este tutorial, ha usado las herramientas de depuración de Visual Studio. 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 que hay disponibles en Visual Studio.

Importante

Todos los métodos abreviados de teclado se basan en los valores predeterminados de Visual Studio. Los métodos abreviados de teclado pueden variar; para más información al respecto, consulte Métodos abreviados de teclado en Visual Studio.

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 Visual Studio. 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, Visual Studio usa la configuración de compilación Depuración, por lo que no es necesario cambiarla antes de depurar.

  1. Inicie Visual Studio.

  2. Abra el proyecto que ha creado en Creación de una aplicación de consola de .NET con Visual Studio.

    La configuración de compilación actual se muestra en la barra de herramientas. En la siguiente imagen de la barra de herramientas se muestra que Visual Studio está configurado para compilar la versión de depuración de la aplicación:

    Visual Studio toolbar with debug highlighted

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 con el punto de interrupción.

  1. 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 de esa línea. 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 colocar el cursor en la línea de código y, después, presionar F9 o seleccionar Depurar>Alternar punto de interrupción en la barra de menú.

    En esta imagen vemos que, para indicar la línea en la que se establece el punto de interrupción, Visual Studio lo resalta y muestra un punto rojo en el margen izquierdo.

    Visual Studio Program window with breakpoint set

  2. Presione F5 para ejecutar el programa en modo de depuración. Otra manera de iniciar la depuración es elegir Depuración>Iniciar depuración en el menú.

  3. Cuando el sistema le pida un nombre, escriba una cadena en la ventana de consola y luego presione Entrar.

  4. 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 ventana Variables locales muestra los valores de las variables definidas en el método que se ejecuta actualmente.

    Screenshot of a breakpoint in Visual Studio

Uso de la ventana Inmediato

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

  1. Si la ventana Inmediato no está visible, muéstrela; para ello, elija Depurar>Ventanas>Inmediato.

  2. Escriba name = "Gracie" en la ventana Inmediato y presione la tecla Entrar.

  3. Escriba currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en la ventana Inmediato y presione la tecla Entrar.

    La ventana Inmediato muestra el valor de la variable de cadena y las propiedades del valor DateTime. Además, los valores de las variables se actualizan en la ventana Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Presione F5 para que continúe la ejecución del programa. Otra manera de hacerlo es elegir Depuración>Continuar en el menú.

    Los valores mostrados en la ventana de la consola corresponden a los cambios realizados en la ventana Inmediato.

    Console window showing the entered values

  5. 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 en el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Condiciones para abrir el cuadro de diálogo Configuración del punto de interrupción. Active la casilla Condiciones si aún no está seleccionada.

    Editor showing breakpoint settings panel - C#

  2. En Expresión condicional, escriba el código siguiente en el campo que muestra el código de ejemplo que comprueba si x es 5.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    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. Seleccione Cerrar para cerrar el cuadro de diálogo.

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

  5. En la ventana de consola, cuando se le pida que escriba su nombre, presione la tecla Entrar.

  6. 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.

  7. Seleccione la ventana Variables locales, que muestra los valores de las variables que son locales para el método que se ejecuta actualmente. En este caso, Main es el método que se está ejecutando actualmente. Observe que el valor de la variable name es "" o String.Empty.

  8. Confirme que el valor es una cadena vacía escribiendo la siguiente instrucción en la ventana Inmediato y presionando Entrar. El resultado es true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    El signo de interrogación dirige la ventana Inmediato para evaluar una expresión.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Presione F5 para que continúe la ejecución del programa.

  10. Presione cualquier tecla para cerrar la ventana de consola y detener la depuración.

  11. Para borrar el punto de interrupción, haga clic en el punto en el margen izquierdo de la ventana de código. Otras formas de borrar un punto de interrupción consisten en presionar F9 o elegir Depurar > Alternar punto de interrupción mientras se selecciona la línea de código.

Ejecución paso a paso de un programa

Visual Studio también le 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. Elija Depurar>Depurar paso a paso por instrucciones. Otra manera de depurar una instrucción cada vez es presionar F11.

    Visual Studio resalta y muestra una flecha junto a la siguiente línea de ejecución.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    En este punto, la ventana Variables locales muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados. Además, Visual Studio ha abierto una ventana de consola en blanco.

  2. Presione F11. Visual Studio ahora resalta la siguiente línea de ejecución. La ventana Variables locales no cambia y la ventana de consola permanece en blanco.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables name. La ventana Variables locales muestra que name es null, y la ventana de consola muestra la cadena "What is your name?".

  4. Para responder a la solicitud, escriba una cadena en la ventana de consola y presione Entrar. La consola no responde y la cadena que especificó no se muestra en la ventana de la consola, pero el método Console.ReadLine capturará en cambio la entrada.

  5. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables currentDate. La ventana Variables locales muestra el valor devuelto por la llamada al método Console.ReadLine. La ventana de la consola también muestra la cadena que escribió en la solicitud.

  6. Presione F11. La ventana Variables locales muestra el valor de la variable currentDate tras la asignación desde la propiedad DateTime.Now. La ventana de consola permanece sin cambios.

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

  8. Elija Depurar>Depurar paso a paso para salir. Otra manera de detener la ejecución paso a paso es presionar Mayús+F11.

    La ventana de la consola muestra un mensaje y espera a que presione una tecla.

  9. Presione cualquier tecla para cerrar la ventana de consola y detener la depuració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 en ocasiones afectan negativamente 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 la consola, cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.

default Visual Studio toolbar with release highlighted

Cuando presiona F5 o elije Compilar solución en el menú Compilar, Visual Studio compila la versión de lanzamiento de la aplicación. Puede probarla como hizo con la versión de depuración.

Pasos siguientes

En este tutorial, ha usado las herramientas de depuración de Visual Studio. 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 que hay disponibles en Visual Studio.

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 Visual Studio. 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, Visual Studio usa la configuración de compilación Depuración, por lo que no es necesario cambiarla antes de depurar.

  1. Inicie Visual Studio.

  2. Abra el proyecto que ha creado en Creación de una aplicación de consola de .NET con Visual Studio.

    La configuración de compilación actual se muestra en la barra de herramientas. En la siguiente imagen de la barra de herramientas se muestra que Visual Studio está configurado para compilar la versión de depuración de la aplicación:

    Visual Studio toolbar with debug highlighted

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 con el punto de interrupción.

  1. 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 de esa línea. 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 colocar el cursor en la línea de código y, después, presionar F9 o seleccionar Depurar>Alternar punto de interrupción en la barra de menú.

    En esta imagen vemos que, para indicar la línea en la que se establece el punto de interrupción, Visual Studio lo resalta y muestra un punto rojo en el margen izquierdo.

    Visual Studio Program window with breakpoint set

  2. Presione F5 para ejecutar el programa en modo de depuración. Otra manera de iniciar la depuración es elegir Depuración>Iniciar depuración en el menú.

  3. Cuando el sistema le pida un nombre, escriba una cadena en la ventana de consola y luego presione Entrar.

  4. 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 ventana Variables locales muestra los valores de las variables definidas en el método que se ejecuta actualmente.

    Screenshot of a breakpoint in Visual Studio

Uso de la ventana Inmediato

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

  1. Si la ventana Inmediato no está visible, muéstrela; para ello, elija Depurar>Ventanas>Inmediato.

  2. Escriba name = "Gracie" en la ventana Inmediato y presione la tecla Entrar.

  3. Escriba currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en la ventana Inmediato y presione la tecla Entrar.

    La ventana Inmediato muestra el valor de la variable de cadena y las propiedades del valor DateTime. Además, los valores de las variables se actualizan en la ventana Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Presione F5 para que continúe la ejecución del programa. Otra manera de hacerlo es elegir Depuración>Continuar en el menú.

    Los valores mostrados en la ventana de la consola corresponden a los cambios realizados en la ventana Inmediato.

    Console window showing the entered values

  5. 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 en el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Condiciones para abrir el cuadro de diálogo Configuración del punto de interrupción. Active la casilla Condiciones si aún no está seleccionada.

    Editor showing breakpoint settings panel - C#

  2. En Expresión condicional, escriba el código siguiente en el campo que muestra el código de ejemplo que comprueba si x es 5.

    String.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    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. Seleccione Cerrar para cerrar el cuadro de diálogo.

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

  5. En la ventana de consola, cuando se le pida que escriba su nombre, presione la tecla Entrar.

  6. 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.

  7. Seleccione la ventana Variables locales, que muestra los valores de las variables que son locales para el método que se ejecuta actualmente. En este caso, Main es el método que se está ejecutando actualmente. Observe que el valor de la variable name es "" o String.Empty.

  8. Confirme que el valor es una cadena vacía escribiendo la siguiente instrucción en la ventana Inmediato y presionando Entrar. El resultado es true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    El signo de interrogación dirige la ventana Inmediato para evaluar una expresión.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Presione F5 para que continúe la ejecución del programa.

  10. Presione cualquier tecla para cerrar la ventana de consola y detener la depuración.

  11. Para borrar el punto de interrupción, haga clic en el punto en el margen izquierdo de la ventana de código. Otras formas de borrar un punto de interrupción consisten en presionar F9 o elegir Depurar > Alternar punto de interrupción mientras se selecciona la línea de código.

Ejecución paso a paso de un programa

Visual Studio también le 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. Aunque no hay ninguna depuración en curso y el foco está en Visual Studio:

  1. Elija Depurar>Depurar paso a paso por instrucciones. Otra manera de depurar una instrucción cada vez es presionar F11.

    Visual Studio resalta y muestra una flecha junto a la siguiente línea de ejecución.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    En este punto, la ventana Variables locales muestra que la matriz args está vacía, y name y currentDate tienen valores predeterminados. Además, Visual Studio ha abierto una ventana de consola en blanco.

  2. Presione F11. Visual Studio ahora resalta la siguiente línea de ejecución. La ventana Variables locales no cambia y la ventana de consola permanece en blanco.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables name. La ventana Variables locales muestra que name es null, y la ventana de consola muestra la cadena "What is your name?".

  4. Para responder a la solicitud, escriba una cadena en la ventana de consola y presione Entrar. La consola no responde y la cadena que especificó no se muestra en la ventana de la consola, pero el método Console.ReadLine capturará en cambio la entrada.

  5. Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables currentDate. La ventana Variables locales muestra el valor devuelto por la llamada al método Console.ReadLine. La ventana de la consola también muestra la cadena que escribió en la solicitud.

  6. Presione F11. La ventana Variables locales muestra el valor de la variable currentDate tras la asignación desde la propiedad DateTime.Now. La ventana de consola permanece sin cambios.

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

  8. Elija Depurar>Depurar paso a paso para salir. Otra manera de detener la ejecución paso a paso es presionar Mayús+F11.

    La ventana de la consola muestra un mensaje y espera a que presione una tecla.

  9. Presione cualquier tecla para cerrar la ventana de consola y detener la depuració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 en ocasiones afectan negativamente 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 la consola, cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.

default Visual Studio toolbar with release highlighted

Cuando presiona F5 o elije Compilar solución en el menú Compilar, Visual Studio compila la versión de lanzamiento de la aplicación. Puede probarla como hizo con la versión de depuración.

Pasos siguientes

En este tutorial, ha usado las herramientas de depuración de Visual Studio. En el siguiente tutorial, publicará una versión de la aplicación que se puede implementar.