La .NET CONF 2024 acaba de terminar. Descubre las NOVEDADES de .NET 9 junto a los CAMBIOS que trae C# 13.
Puedes ver el contenido de este vídeo junto con su curso en el modo vídeo (similar a Udemy) si pulsas aquí.

Modo Debug

22 Apr 2019 7 min (0) Comentarios

 

1 - Qué es debuguear?

Debuguear es lo que los desarrolladores hacemos para iterar sobre el código mientras este se esta ejecutando. Esto nos permite poder acceder a los bugs y analizarlos, ya que sin ello seria mucho mas complicado encontrar y arreglar errores. 

Además, indicar que Visual Studio ( o nuestro IDE) tiene que estar en el Modo Debug, en VS la opción está arriba en el menú

donde esta el modo debug

Para entrar a iterar el codigo lo que tenemos que hacer es pulsar el "play" que tambien vemos en la imagen previa

donde esta el play

Una vez estamos dentro vamos a iterar sobre el código. 

int contador = 0;
do
{
    Console.WriteLine("Iteración número " + contador);
    contador++;
} while (contador < 10);

 

 

2 - Cómo debuguear el código

Pero para poder debuguear el código como tal necesitamos añadir breakpoints, o puntos de ruptura en castellano, y para añadirlos tenemos 3 opciones.

  1. Colocar el cursor sobre la línea y pulsar F9
  2. Boton secundario sobre la linea > Breakpoint > insertar breakpoint
  3. En el lateral del fichero pulsar con el botón izquierdo del ratón, y nos añadira un breakpoint

Cuando hemos añadido un breakpoint nos saldrá un punto rojo, el cual indica que es un breakpoint (es el mismo punto que pinchamos  utilizamos la opcion 3) además la linea se nos pondrá de color rojo.

Como asignar un breakpoint

Una vez el programa está en ejecución, parará automaticamente al llegar al breakpoint, y este se nos pondrá amarillo, junto con una flecha en el lateral del fichero, para indicar que es ahí el punto en el que está en este momento.

breakpoint parado

Una vez estamos aquí tenemos varias opciones para continuar:

  • F5 continua hasta el siguiente breakpoint
  • F10 Ejecuta esa línea de código
  • F11 Ejecuta la siguiente sentencia de código, esto quiere decir que si por ejemplo estamos llamando a un método dentro de esa linea de codigo, pulsando F11 entraria dentro del método.

Otra opción que tenemos es arrastrar la flecha hasta la linea que queramos, o vovler atrás, pero hay que tener cuidado ya que puede causar algunas excepciones, si algun elemento no ha sido declarado, por ejemplo. 

 

 

3 - Ventajas de Debuguear

Como hemos dicho antes, podemos ver paso por paso la ejecución de un programa, y eso incluye que cuando se rompe o tenemos información corrupta podemos ver donde y porque están esos datos corruptos. 

Disponemos de acceso al Stack de la llamada, que incluye cada punto por el que el proceso ha pasado:

call stack

Si hacemos doble click en cualquiera de ellos, Visual studio nos llevar a ese punto, pero no solo eso, las variables tendrán el valor que tenían en ese punto. Lo cual facilita mucho a la hora de comprobar errores. 

Como hemos dicho cuando estamos debugueando tenemos acceso a todas las variables disponibles en el scope, por lo que podemos consultar su valor o incluso operar con ellas en la caja "watch" de visual stuido, lo cual facilita mucho cuando tenemos grandes bloques de informaición como listas de empleados etc. 

watch visualstudio

Como vemos la segunda línea es nuestro contador, que hemos operado con el, esta informacion es temporal y no es la que se va a almacenar en el código cuando volvamos a ejecutarlo.

Finalmente indicar que podemos cambiar valores de las variables cuando estamos parados en un breakpoint, eso nos puede facilitar en ciertos casos a comprobar un "y qué pasaría si..." pero personalmente no lo recomiendo.


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café