Bienvenidos sean a este post, en el post anterior hablamos sobre los distintos tipos de errores que podemos tener en nuestro programa, en el caso de hoy veremos como podemos analizar estos errores.
Pero mas apuntaremos en los de tipo ejecucion, para ello modificaremos el codigo de Argumentos a su primera version, si no tienen este proyecto pueden crearlo de la siguiente forma:
- Lenguaje: C#
- Plataforma: Windows (Net Core)
- Tipo de Proyecto: Consola
- Nombre Proyecto: Argumentos
- Nombre Solucion: Argumentos
Una vez creado nuestro proyecto debemos modificar el codigo de Program.cs con el siguiente:
using System;
namespace Argumentos
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Argumento: " + args[0]);
}
}
}
En este caso lo usaremos de esta forma para provocar nuevamente la falla, para ello lo volvemos a compilar y lo ejecutamos sin el argumento donde volveremos a tener la misma falla
C:\Users\tinchicus\Source\Repos\Argumentos\Argumentos\bin\Debug\netcoreapp3.1>argumentos
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Argumentos.Program.Main(String[] args) in C:\Users\tinchicus\Source\Repos\Argumentos\Argumentos\Program.cs:line 9
C:\Users\tinchicus\Source\Repos\Argumentos\Argumentos\bin\Debug\netcoreapp3.1>
En este caso volvemos a tener el mismo error donde nos indica que el indice de args quedo fuera del rango en la linea 9, lo mismo ocurre si lo ejecutamos desde Visual Studio, para poder analizar este codigo vamos a usar dos herramientas, una es el breakpoint y la otra debug.
La primera, breakpoint, es como su nombre lo indica un punto de detencion, donde si al programa lo ejecutamos con la opcion de debugging (depuracion) se detendra ahi esperando alguna accion nuestra, por ejemplo en el caso anterior nos dijo que la linea 9 era la del error, entonces estableceremos un breakpoint en la linea 8, para ello debemos seleccionar en la columna gris de la izquierda con un click y aparecera un circulo rojo que simbolizara nuestro breakpoint

Nota: Si necesitan deshabilitar el breakpoint solamente lo vuelven a clickear.
Los breakpoints no son solamente para este tipo de errores sino tambien para detener el programa y ver que esta haciendo en ese momento, por ejemplo podemos tener la necesidad de saber si en determinados puntos del programa las variables estan recibiendo la informacion correcta, y como se podran dar cuenta se pueden usar mas de un breakpoint por codigo, obviamente en este caso como es un codigo chico no usaremos mas de uno, si ejecutamos nuestro programa nuevamente sucedera esto

En este caso el programa se detendra, en el breakpoint tendremos una flecha amarilla que indica hasta donde llego, el boton de ejecucion se llama ahora Continuar para continuar con la ejecucion y pasar al siguiente paso, la otra ventana que aparece es Automatico, donde nos indica que args tiene cero valor, antes de continuar con nuestro programa veremos tres posibilidades que tenemos en el menu Depurar (Debug):
- Paso a paso por instrucciones
- Paso a paso por procedimientos
- Paso a paso para salir
En el primer caso pasara linea por linea a partir del breakpoint, se puede hacer con la tecla F11, la siguiente instruccion salta al siguiente breakpoint omitiendo las lineas intermedias, se puede hacer con F10, y la ultima tambien hara paso a paso pero al final saldra del programa no sin antes mostrar el error, se hace con Mayus+F11, estas tres opciones podemos usarlas para ver que pasa linea por linea, con la opcion Continuar o la de paso a paso nos deberia aparecer el siguiente mensaje

En este caso es el mismo mensaje de error que nos aparecia en la consola, si le damos a Continuar o F11 continuara con el programa y saldra del mismo pero como hacemos para solucionar este problema? Tenemos dos opciones: una es usarlo solo por consola y nunca olvidar el argumento o como vimos en este post ir a las propiedades del proyecto, para ello debemos ir a la ventana de Explorador de soluciones y sobre el proyecto hacer click con el boton derecho y seleccionar Propiedades

Esta accion nos abrira el siguiente cuadro

En este caso debemos ir a la opcion Depurar y donde dice Argumentos de Aplicacion agregamos un valor cualquiera, en este caso agregue prueba como en el ejemplo anterior, una vez hecho esto presionamos Ctrl+S y guardamos la modificacion, con esto hecho presionamos la cruz de la ventana, la cerramos y volvamos a ejecutar con la opcion de depuracion en nuestro codigo, sucedera lo siguiente

En este caso se volvera a detener el programa pero si miramos Automatico veremos que args tiene un valor 1 y si lo abrimos tendra un valor asignado, en este caso prueba, si le damos Continuar no deberiamos tener ningun inconveniente, veamos el siguiente video para entender el concepto
En resumen, hoy hemos visto para que sirve los breakpoints, que opciones disponemos en depurar (debug), acciones que podemos usar, que datos podemos observar, como podemos modificar las propiedades de nuestra solucion, tambien como podemos emular el enviar un argumento, y como es recogido por nuestro codigo, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.
Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar
Es para mantenimiento del sitio, gracias!
1.00 $