Tutorial: Depuración de una aplicación de consola de .NET con Visual Studio para Mac
Importante
Microsoft ha anunciado la retirada de Visual Studio para Mac. Visual Studio para Mac ya no se admitirá a partir del 31 de agosto de 2024. De forma alternativa, puede hacer lo siguiente:
- Visual Studio Code con el Kit de desarrollo de C# y las extensiones relacionadas, como .NET MAUI y Unity.
- Visual Studio que se ejecuta en Windows en una máquina virtual en Mac.
- Visual Studio que se ejecuta en Windows en una máquina virtual en la nube.
Para obtener más información, consulte Anuncio de retirada de Visual Studio para Mac.
En este tutorial se presentan las herramientas de depuración que hay disponibles en Visual Studio para Mac.
Requisitos previos
- Este tutorial funciona con la aplicación de consola que se crea en Creación de una aplicación de consola de .NET con Visual Studio para Mac.
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 para Mac usa la configuración de compilación Depuración, por lo que no es necesario cambiarla antes de depurar.
Inicie Visual Studio para Mac:
Abra el proyecto que ha creado en Creación de una aplicación de consola de .NET con Visual Studio para Mac.
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:
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.
Establezca un punto de interrupción en la línea que muestra el nombre, la fecha y la hora. Para ello, coloque el cursor en la línea de código y presione ⌘\(command+\). Otra manera de establecer un punto de interrupción es seleccionar Depurar>Alternar punto de interrupción en el menú.
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.
Presione ⌘↵ (command+entrar) para iniciar el programa en modo de depuración. Otra manera de iniciar la depuración es elegir Depuración>Iniciar depuración en el menú.
Cuando el sistema le pida un nombre, escriba una cadena en la ventana de terminar y luego 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
.
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.
Si la ventana Inmediato no está visible, muéstrela; para ello, elija Ver>Ventanas de depuración>Inmediato.
Escriba
name = "Gracie"
en la ventana Inmediato y presione Entrar.Escriba
currentDate = currentDate.AddDays(1)
en la ventana Inmediato y presione Entrar.La ventana Inmediato muestra el nuevo valor de la variable de cadena y las propiedades del valor DateTime.
La ventana Variables locales muestra los valores de las variables definidas en el método que se ejecuta actualmente. Los valores de las variables que acaba de cambiar se actualizan en la ventana Variables locales.
Presione ⌘↵ (command+entrar) para continuar con la depuración.
Los valores mostrados en el terminar corresponden a los cambios realizados en la ventana Inmediato.
Si no ve el terminal, seleccione Terminal - HelloWorld en la barra de navegación inferior.
Presione cualquier tecla para salir de la aplicación.
Cierre ventana de terminal.
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.
Haga clic pulsando control en el punto rojo que representa al punto de interrupción. En el menú contextual, seleccione Editar punto de interrupción.
En el cuadro de diálogo Editar punto de interrupción, escriba el código siguiente en el campo Y se cumpla la siguiente condición y seleccione Aplicar.
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 devuelvetrue
.En lugar de una expresión condicional, puede especificar un número de llamadas, que interrumpe la ejecución del programa antes de que una instrucción se ejecute un número especificado de veces.
Presione ⌘↵ (command+entrar) para iniciar la depuración.
En la ventana de terminal, presione entrar cuando se le pida que escriba su nombre.
Como se ha cumplido la condición que especificó (
name
esnull
o String.Empty), la ejecución del programa se detiene cuando se alcanza el punto de interrupción.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 variablename
es""
; esto es, String.Empty.También puede ver que el valor es una cadena vacía escribiendo el nombre de la variable
name
en la ventana Inmediato y presionando entrar.Presione ⌘↵ (command+entrar) para continuar con la depuración.
En la ventana de terminal, presione cualquier tecla para salir del programa.
Cierre la ventana de terminal.
Para borrar el punto de interrupción, haga clic en el punto rojo en el margen izquierdo de la ventana de código. Otra manera de hacerlo es 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.
Establezca un punto de interrupción en la llave que marca el inicio del método
Main
(presione command+\).Presione ⌘↵ (command+entrar) para iniciar la depuración.
Visual Studio se detiene en la línea con el punto de interrupción.
Presione ⇧⌘I (Mayús+Comando+l) o seleccione Depurar>Depurar paso a paso por instrucciones para avanzar una línea.
Visual Studio resalta y muestra una flecha junto a la siguiente línea de ejecución.
En este punto, la ventana Variables locales muestra que la matriz
args
está vacía, yname
ycurrentDate
tienen valores predeterminados. Además, Visual Studio ha abierto una ventana de consola en blanco.Presione ⇧⌘I (mayús+command+I).
Visual Studio resalta la instrucción que incluye la asignación de variables
name
. La ventana Variables locales muestra quename
esnull
, y terminal muestra la cadena "What is your name?" (¿Cómo te llamas?).Para responder a la solicitud, escriba una cadena en la ventana de consola y presione entrar.
Presione ⇧⌘I (mayús+command+I).
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. En el terminal se muestra la cadena que escribió en el símbolo del sistema.Presione ⇧⌘I (mayús+command+I).
La ventana Variables locales muestra el valor de la variable
currentDate
tras la asignación desde la propiedad DateTime.Now. El terminal no se modifica.Presione ⇧⌘I (mayús+command+I).
Visual Studio llama al método Console.WriteLine(String, Object, Object). El terminal muestra la cadena con formato.
Presione ⇧⌘U (mayús+command+U) o seleccione Ejecutar>Paso a paso para salir.
El terminal muestra un mensaje y espera a que presione una tecla.
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 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 configuración de versión de la aplicación de consola, realice los pasos siguientes:
Cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.
Presione ⌥⌘↵ (opción+command+entrar) para ejecutar sin depurar.
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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de