Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial se presentan las herramientas de depuración 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 obtener más información, véase métodos abreviados de teclado en Visual Studio.
En este tutorial se presentan las herramientas de depuración disponibles en Visual Studio Code para trabajar con aplicaciones .NET.
En este tutorial se presentan las herramientas de depuración disponibles en GitHub Codespaces para trabajar con aplicaciones .NET.
Prerrequisitos
Este tutorial funciona con la aplicación de consola que se crea en Crear una aplicación de consola de .NET.
Uso de la configuración de compilación de depuración
Debug y Release son 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, 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, Visual Studio usa la configuración de compilación Debug, por lo que antes no es necesario cambiarla para depurar.
Inicie Visual Studio.
Abra el proyecto que creó en Crear una aplicación de consola de .NET.
La configuración de compilación actual se muestra en la barra de herramientas. La siguiente imagen de barra de herramientas 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 que lo incluye.
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 DepurarAlternar punto de interrupción en la barra de menú.
Como se muestra en la imagen siguiente, Visual Studio indica la línea en la que se establece el punto de interrupción resaltando y mostrando un punto rojo en el margen izquierdo.
Presione F5 para ejecutar el programa en modo de depuración. Otra manera de comenzar a depurar es seleccionando en el menú la opción DepurarIniciar depuración.
Cuando el sistema le pida un nombre, escriba una cadena en la ventana de consola y luego presione Entrar.
La ejecución del programa se detiene cuando alcanza el punto de interrupción y antes de que se ejecute el método . La ventana Variables locales muestra los valores de las variables definidas en el método que se está ejecutando actualmente.
Inicie Visual Studio Code.
Abra la carpeta del proyecto que creó en Crear una aplicación de consola de .NET.
Abra el archivo Program.cs.
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 EjecutarAlternar 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
Abra el GitHub Codespace que creó en Crear una aplicación de consola de .NET.
Abra el archivo HelloWorld.cs .
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. También puede establecer un punto de interrupción presionando F9 mientras se selecciona la línea de código.
Punto de interrupción
Iniciar depuración
La ejecución del programa se detiene cuando alcanza el punto de interrupción, como se describe en la sección anterior. La ventana Variables locales muestra los valores de las variables definidas en el método que se está ejecutando actualmente.
Debug y Release son 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.
De forma predeterminada, la configuración de inicio de Visual Studio Code usa la configuración de compilación Debug, así que no necesitas modificarla antes de la depuración.
Para abrir la vista Depurar, seleccione el icono Depuración en el menú del lado izquierdo.
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 EjecutarIniciar depuración en el menú.
Iniciar depuración
Si se le pide que seleccione la configuración de inicio, seleccione C#: Depurar el archivo activo.
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
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 . 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
De forma predeterminada, GitHub Codespaces usa la configuración de compilación Debug, por lo que no es necesario cambiarla antes de la depuración.
Para abrir la vista Depurar, seleccione el icono Depuración en el menú del lado izquierdo.
Seleccione Ejecutar y depurar. Si se le pide, seleccione C# como depurador y, a continuación, seleccione C#: Depurar archivo activo como configuración de inicio.
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.
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 . 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 ventana Inmediato
La ventana Inmediato le permite interactuar con la aplicación que está depurando. Puede cambiar interactivamente el valor de las variables para ver cómo afecta al programa.
Si la ventana Immediate no está visible, muestranla eligiendo Debug>Windows>Immediate.
Escriba en la ventana Inmediato y presione la tecla Entrar.
Escriba 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 . Además, los valores de las variables se actualizan en la ventana Variables locales.
Presione F5 para continuar la ejecución del programa. Otra manera de hacerlo es elegir DepuraciónContinuar en el menú.
Los valores mostrados en la ventana de la consola corresponden a los cambios realizados en la ventana Inmediato.
Presione cualquier tecla para salir de la aplicación y detenga la depuración.
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.
Seleccione la pestaña Consola de depuración.
Escriba en el símbolo del sistema de la parte inferior de la ventana Consola de depuración y presione Intro.
Cambiar valores de variable
Escriba en la parte inferior de la ventana Consola de depuración y presione Intro.
La ventana Variables muestra los nuevos valores de las variables y .
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
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.
Haga clic con el botón derecho en el punto rojo que representa el 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 con el panel de configuración de puntos de interrupción: C#
En Expresión condicional, escriba el código siguiente en el campo de texto.
string.IsNullOrEmpty(name)String.IsNullOrEmpty(name)Cada vez que se alcanza el punto de interrupción, el depurador invoca el método , y se detiene en esta línea solo si la invocación del método devuelve .
En lugar de una expresión condicional, puede especificar un contador de ejecuciones, que interrumpe la ejecución del programa antes de que una instrucción se ejecute un número especificado de veces. 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.
Seleccione Cerrar para cerrar el cuadro de diálogo.
Inicie el programa en modo de depuración presionando F5.
En la ventana de consola, cuando se le pida que escriba su nombre, presione la tecla Entrar.
Dado que se ha cumplido la condición especificada ( es o ), la ejecución del programa se detiene cuando alcanza el punto de interrupción y antes de que se ejecute el método .
Seleccione la ventana Variables locales, que muestra los valores de las variables que son locales para el método que se está ejecutando actualmente. En este caso, es el método que se está ejecutando actualmente. Observe que el valor de la variable es o .
Confirme que el valor es una cadena vacía escribiendo la siguiente instrucción en la ventana Inmediato y presionando Entrar. El resultado es .
? name == String.Empty? String.IsNullOrEmpty(name)El signo de interrogación dirige la ventana Inmediato para evaluar una expresión.
La Ventana Inmediata devuelve un valor verdadero después de ejecutar la instrucción - C#
Presione F5 para continuar la ejecución del programa.
Presione cualquier tecla para cerrar la ventana de consola y detener la depuración.
Borre el punto de interrupción haciendo clic en el punto del 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.
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
Seleccione 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 invoca el método , y se detiene en esta línea solo si la invocación del método devuelve .
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.
Inicie el programa en modo de depuración presionando F5.
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 ( es o ), la ejecución del programa se detiene cuando alcanza el punto de interrupción y antes de que se ejecute el método .
La ventana de variables muestra que el valor de la variable es o .
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 .
name == String.EmptySeleccione el botón Continuar de la barra de herramientas para continuar con la ejecución del programa.
Presione Intro para salir del programa y detenga la depuración.
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.
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 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.
Establezca un punto de interrupción en la línea de código que muestra el mensaje "¿Cuál es su nombre?".
Elija DepurarDepurar paso a paso por instrucciones. Otra manera de depurar una instrucción cada vez es presionar F11.
Visual Studio resalta y muestra una flecha situada junto a la siguiente línea de ejecución.
En este momento, la ventana Variables locales muestra que la matriz de está vacía y y tienen valores predeterminados. Además, Visual Studio ha abierto una ventana de consola en blanco.
Presione F11. Visual Studio resalta la instrucción que incluye la asignación de variables
name. La ventana Variables locales muestra que es y la ventana de consola muestra la cadena "¿Cuál es tu nombre?".Para responder a la solicitud, escriba una cadena en la ventana de consola y presione Entrar. La consola no responde y la cadena especificada no se muestra en la ventana de la consola, pero el método capturará la entrada.
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 . La ventana de la consola también muestra la cadena que escribió en la solicitud.Presione F11. La ventana Variables locales muestra el valor de la variable tras la asignación desde la propiedad . La ventana de la consola no cambia.
Presione F11. Visual Studio llama al método Console.WriteLine(String, Object, Object). La ventana de la consola muestra la cadena con formato.
Elija DepurarDepurar paso a paso para salir. Otra manera de detener la ejecución paso a paso es presionar MayúsF11.
La ventana de la consola muestra un mensaje y espera a que presione una tecla.
Presione cualquier tecla para cerrar la ventana de consola y detener la depuración.
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.
Establezca un punto de interrupción en la línea de código que muestra el mensaje "¿Cuál es su nombre?".
Presione F5 para iniciar la depuración.
Visual Studio Code resalta la línea de punto de interrupción.
En este momento, la ventana Variables de
muestra que la matriz de está vacía y y tienen valores predeterminados. Seleccione Paso hacia dentro en la barra de herramientas de depuración o presione F11.
Botón
Step-Into Visual Studio Code resalta la línea siguiente.
Visual Studio Code ejecuta el
Console.WriteLinepara el símbolo del sistema de nombres y resalta la siguiente línea de ejecución. La línea siguiente es para . La ventana Variables permanece sin cambios y la pestaña Terminal muestra el mensaje "¿Cuál es tu nombre?".Seleccione Entrar o presione F11.
Visual Studio Code resalta la asignación de variables
name. La ventana Variables muestra que todavía es .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 capturará la entrada.
Seleccione Entrar o presione F11.
Visual Studio Code resalta la asignación de variables
currentDate. La ventana de Variables muestra el valor devuelto por la llamada al método . La pestaña Terminal muestra la cadena que escribió en el prompt.Seleccione Entrar o presione F11.
La ventana Variables muestra el valor de la variable después de la asignación de la propiedad .
Seleccione Entrar 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.
Seleccione Salir o presione MayúsF11.
botón Botón de depurar paso a paso para salir
El terminal muestra "Presione cualquier tecla para salir..."
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 release incorpora optimizaciones del compilador que a veces pueden afectar negativamente 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 la consola, cambie la configuración de compilación en la barra de herramientas de Depurar a Versión.
Al presionar F5 o elija Build Solution en el menú Build, Visual Studio compila la versión de lanzamiento de la aplicación. Puedes probarlo igual que hiciste con la versión Debug.
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
Para compilar y probar la versión de lanzamiento de la aplicación de consola, ejecute el siguiente comando en el terminal:
dotnet run --configuration Release HelloWorld.cs
Pasos siguientes
En este tutorial, has usado herramientas de depuración. En el siguiente tutorial, publicará una versión implementable de la aplicación.