Inicio rápido: Depuración de ASP.NET Core con el depurador de Visual Studio
El depurador de Visual Studio proporciona muchas características de gran eficacia para ayudar a depurar aplicaciones. En este tema se proporciona una forma rápida de obtener información sobre las características básicas.
Creación de un nuevo proyecto
Abra Visual Studio.
Presione Esc para cerrar la ventana de inicio. Presione Ctrl + Q para abrir el cuadro de búsqueda, escriba asp.net, elija Plantillas y luego, Crear una aplicación web ASP.NET Core. En el cuadro de diálogo que se abre, elija Crear.
En la barra de menús superior, elija Archivo > Nuevo > Proyecto. En el panel izquierdo del cuadro de diálogo Nuevo proyecto, en Visual C#, elija Web y luego, en el panel central, Aplicación web ASP.NET Core. Escriba un nombre como MyDbgApp y haga clic en Aceptar.
En el cuadro de diálogo que aparece, elija Aplicación web en el panel central y luego haga clic en Aceptar.

Si no ve la plantilla de proyecto Aplicación web ASP.NET, vaya a Herramientas > Obtener herramientas y características… y se abrirá el Instalador de Visual Studio. Elija la carga de trabajo Desarrollo de ASP.NET y web y después elija Modificar.
Visual Studio crea el proyecto.
En el Explorador de soluciones, abra About.cshtml.cs (en Pages/About.cshtml) y reemplace el código siguiente
public void OnGet() { Message = "Your application description page."; }Por este otro:
public void OnGet() { LinkedList<int> result = doWork(); Message = "Result of work: " + result.First.Value + ", " + result.First.Value; } private static LinkedList<int> doWork() { LinkedList<int> c1 = new LinkedList<int>(); c1.AddLast(10); c1.AddLast(20); LinkedList<int> c2 = new LinkedList<int>(c1); return c2; }
Establecer un punto de interrupción
Un punto de interrupción es un marcador que indica en qué punto debe Visual Studio suspender la ejecución de código para poder echar un vistazo a los valores de variables, o al comportamiento de memoria, o si se está ejecutando o no una rama de código. Es la característica más básica de la depuración.
Para establecer el punto de interrupción, haga clic en el medianil de la izquierda de la función
doWork(o seleccione la línea de código y presione F9).
El punto de interrupción se establece a la izquierda de la llave de apertura (
{).Ahora presione F5 (o elija Depurar > Iniciar depuración).
Cuando se cargue la página web, haga clic en el vínculo Acerca de de la parte superior de la página web.
El depurador se detiene donde se ha establecido el punto de interrupción. La instrucción donde se ha detenido la ejecución del depurador y la aplicación se indica mediante la flecha amarilla. La línea con la llave de apertura (
{) después de la declaración de funcióndoWorkaún no se ha ejecutado.
Sugerencia
Si tiene un punto de interrupción en un bucle o recursión, o si tiene muchos puntos de interrupción que ejecuta paso a paso con frecuencia, use un punto de interrupción condicional para asegurarse de que el código se suspende ÚNICAMENTE cuando se cumplen determinadas condiciones. Esto ahorra tiempo y además puede facilitar la depuración de problemas que son difíciles de reproducir.
Navegación en el código
Hay distintos comandos para indicar al depurador que continúe. Aquí se muestra un comando de navegación de código muy útil disponible a partir de Visual Studio 2017.
Mientras la ejecución está detenida en el punto de interrupción, mantenga el puntero sobre la instrucción return c2 hasta que aparezca el botón verde Run to click (Ejecutar hasta clic)
y luego presione el botón Ejecutar hasta clic.

La aplicación se sigue ejecutando y se detiene en la línea de código donde se ha hecho clic en el botón.
Los comandos de teclado habituales usados para ejecutar el código paso a paso son F10 y F11. Para obtener instrucciones más detalladas, vea Primer vistazo al depurador.
Inspeccionar las variables de una información sobre datos
En la línea de código actual (marcada con el puntero de ejecución amarillo), mantenga el puntero sobre el objeto
c2para mostrar una información sobre datos.
La información sobre datos muestra el valor actual de la variable
c2y permite inspeccionar sus propiedades. Al depurar, si ve un valor que no esperaba, probablemente tenga un error en las líneas de código anteriores o de llamada.Expanda la información sobre datos para ver los valores de propiedad actuales del objeto
c2.Si quiere anclar la información sobre datos para poder seguir viendo el valor de
c2mientras ejecuta el código, haga clic en el icono de anclar pequeño. (Puede mover la información sobre datos anclada a una ubicación que le resulte cómoda).
Editar código y seguir depurando
Si identifica un cambio que quiere probar en el código a mitad de una sesión de depuración, también puede hacerlo.
En el método
OnGet, haga clic en la segunda instancia deresult.First.Valuey cambieresult.First.Valueporresult.Last.Value.Presione F10 (o Depurar > Saltar) varias veces para que el depurador avance y ejecute el código editado.

F10 hace que el depurador avance de instrucción en instrucción, pero que se salte las funciones en lugar de depurarlas (el código que se omite se sigue ejecutando).
Para obtener más información sobre el uso de Editar y continuar y las limitaciones de las características, vea Editar y continuar.
Pasos siguientes
En este tutorial, ha aprendido a iniciar el depurador, a ejecutar el código paso a paso y a inspeccionar variables. Puede ser que le interese analizar las características del depurador con más detenimiento, así como consultar los vínculos disponibles con más información.