‫Bienvenido de nuevo.
‫En este video y en los siguientes videos, me gustaría mostrarle cómo usar la depuración en Visual Studio y la
‫idea detrás de la depuración es deshacerse de los errores.
‫Y esos errores a veces pueden ser bastante fáciles de detectar porque una vez que ejecutas el programa y
‫comienza a fallar, ya sabes, aquí tienes un error, pero a veces es un error
‫lógico, lo que significa que realmente no será visto por tu ID, pero debe ser detectado por usted o por sus usuarios, lo que con suerte
‫le dirá que necesita mejorarlo o que necesita deshacerse de este error.
‫Y para mostrarle o demostrarle la funcionalidad de depuración en Visual Studio, he creado un
‫pequeño programa aquí.
‫He preparado una pequeña herramienta que usaremos para esto, y la herramienta será una herramienta blanca y de amigos
‫de fiesta.
‫Entonces la idea es que mi hija acaba de cumplir tres años y le hicimos una pequeña fiesta y ella podría invitar a
‫algunos amigos.
‫Y, por supuesto, le hubiera encantado invitar a todo su jardín de infancia, pero solo le permitimos invitar a
‫tres amigos.
‫Así que ahora tenía que decidir a qué amigos quería invitar.
‫Y, por supuesto, fue fácil porque hay algunos amigos que le gustan más que otros.
‫Pero al final, no sé quiénes son sus amigos favoritos.
‫Entonces, si tuviera que decidir a quién puede invitar, escribiría un pequeño programa que diga, OK, todos
‫con un nombre corto y hasta eso.
‫Sí, espero que en este caso, se pueda invitar a tres a la fiesta.
‫Entonces ella nombra a todos sus amigos.
‫Y luego solo voy a decir, está bien, los que tengan los nombres más cortos, los tres con los nombres
‫más cortos serán invitados.
‫Y eso es escuchar lo que he escrito.
‫Eso es exactamente lo que hace.
‫Entonces tenemos esta lista, Frank, Joe, Michelle y Maria, Carlos y Angelina.
‫Y tenemos este método para obtener amigos de la fiesta, que necesita una lista y la cantidad de personas que debe seleccionar
‫de esa lista.
‫Y luego tenemos un bucle para cada, que solo escribe los nombres de esas personas o esos niños,
‫en mi caso en la consola.
‫Está bien.
‫Nada demasiado sofisticado.
‫Y el algoritmo que decide quién está invitado y quién no es este método aquí y aquí invitamos a un amigo de la fiesta o
‫averiguamos quién es un amigo de la fiesta.
‫Por supuesto, necesitamos una lista de personas que podamos verificar.
‫Luego comprobamos el nombre más corto y siempre comparamos.
‫Así que revisamos todas las personas de la lista y siempre comparamos.
‫¿El nombre va a ser más corto que una longitud específica o la de las otras personas?
‫Entonces, al final, solo me dará los nombres más cortos.
‫Pero aquí tengo un error aquí.
‫Está bien.
‫Así que voy a comparar el nombre más grande que el más corto de esa longitud.
‫Entonces, en este caso, solo obtendré todos los nombres más largos, aunque quería obtener todos los nombres
‫cortos.
‫Este es solo un paquete de intenciones que he implementado, porque ahora puede ver que esto es algo
‫que quizás no note.
‫Por supuesto, es un error lógico.
‫Y si ejecutamos el código, aún se ejecutará.
‫No habrá recuento de errores, no habrá errores.
‫No chocará.
‫Simplemente nos dará los nombres equivocados.
‫Pero ahora para nosotros, en este caso, es fácil porque vemos OK, Michelle, Angelina y Carlos son
‫nombres largos y conocemos la lista.
‫Entonces sabemos que estaban Joe, Andy y María e incluso Frank con nombres más cortos.
‫Pero por alguna razón no estaban en la lista.
‫Aunque queríamos tener las personas más bajas o las personas con los nombres más cortos.
‫No sé qué tan bajos o altos son, pero eso no importa aquí.
‫Lo importante es que aquí es fácil porque tenemos la lista visible aquí como desarrollador.
‫Pero, ¿y si obtenemos la lista de otro lugar?
‫Entonces, digamos que obtenemos la lista de un archivo XML, que es enorme con miles de nombres, o obtenemos
‫una lista de Internet y no podemos ver la lista antes de que nuestro software la procese.
‫Entonces no veríamos que esos nombres que nos fueron dados no son de hecho los nombres más cortos.
‫Bien, pero nuestro software tiene este pequeño error y eso es lo que hace el método diferente.
‫Volverá solo para abreviar su nombre.
‫Y luego tenemos este get party friends, plural, que solo devuelve la lista
‫de todas las personas con nombres cortos hasta una cierta cantidad que podemos pagar aquí.
‫Así que pasamos el número tres, lo que significa que solo tendríamos tres amigos.
‫Si pasamos el número cuatro, tendremos cuatro amigos y así sucesivamente.
‫Está bien.
‫Así que eso es básicamente lo que hace nuestro software ahora.
‫Tenemos coches de ingenieros comerciales con Frank, así que solo tenemos esta lista de amigos de fiesta vacía.
‫Y siempre que esta lista de amigos de la fiesta tenga un recuento más bajo que el número que se pasó, nosotros.
‫Simplemente busque el próximo amigo de la fiesta, luego continuamos y lo agregamos a la lista de amigos de la
‫fiesta y lo que hacemos es eliminarlo de la lista que se nos pasó.
‫Eso es algo muy peligroso.
‫Pero lo hacemos porque somos un desarrollador principiante y simplemente hacemos este pequeño truco en el que pensamos,
‫OK, ahora nos vamos a deshacer de una variable o de un elemento de la lista.
‫Y lo hacemos mediante programación.
‫Y luego, paso a paso, tenemos una lista corta y solo nos quedan las personas para comparar, que aún no
‫están en nuestra lista.
‫Está bien.
‫Entonces eso es lo que hacemos con esta lista.
‫Eliminar aunque no sea una programación limpia.
‫Veremos cómo solucionarlo también más adelante.
‫Pero por ahora, tenemos el software y funciona.
‫Funciona totalmente bien.
‫Pero, ¿cómo averiguamos cómo solucionar este error?
‫Porque ahora sabemos que tenemos un error y, por supuesto, podemos revisar nuestro código.
‫Y en este caso, es fácil porque son solo cuarenta y tres líneas de código.
‫Pero imagina que son miles de líneas de código, muchos archivos diferentes y muchas personas diferentes han trabajado en él.
‫Y no puedes averiguar cuál es el error.
‫Ahora, lo que puede hacer es usar las capacidades de depuración de Visual Studio y, para hacerlo, lo que
‫puede hacer es simplemente agregar un punto de interrupción.
‫Ahora, comencemos con un punto de interrupción.
‫Tenemos esto.
‫Punto rojo aquí en el lado izquierdo, así que en general, esta barra gris que tienes aquí, ahí es donde puedes
‫agregar puntos de interrupción.
‫También puede agregar un punto de interrupción presionando por la noche.
‫Y no voy a hacer eso porque nueve está pausando mi software de grabación de video.
‫Entonces necesito hacerlo usando mi mouse.
‫Entonces voy a depurar y luego puedo presionar alternar punto de interrupción.
‫Lo que eso hará es crear este punto de ruptura para mí.
‫También puede, por supuesto, presionar F nueve.
‫Entonces, el atajo es de nueve y es mucho más fácil usar atajos cuando está depurando en lugar de
‫depurar y hacer clic todo el tiempo.
‫Está bien.
‫Así que acostúmbrate a usar los botones de tu teclado.
‫Está bien.
‫Entonces, comencemos a depurar.
‫Está bien.
‫Así que voy a depurar y luego empiezo a depurar.
‫O simplemente podría presionar cinco para comenzar a depurar.
‫Ahora que estamos en esta pequeña flecha amarilla, que indica que aquí es donde nuestro software está atascado actualmente y
‫lo hicimos atascado allí porque creamos este punto de interrupción aquí.
‫Entonces, el software se está rompiendo en ese momento.
‫Y ahora podemos hacer avanzar el software a nuestro propio ritmo para poder ir línea por línea e incluso profundizar
‫más.
‫Así que hagámoslo.
‫Pasemos por encima de 10 o presione este botón aquí en la parte superior para pasar al siguiente paso.
‫Por cierto, todos estos botones, solo están disponibles porque estoy en modo de depuración.
‫¿Derecha?
‫Entonces comencé a ejecutar mi software.
‫Y también puede ver que el paso a paso y el paso a paso están disponibles aquí también.
‫Así que tienes varias formas diferentes de hacerlo.
‫Sí.
‫Dé un paso, entre y salga o presione esos botones.
‫Está bien.
‫Entonces, lo que estoy haciendo ahora es pasar a la siguiente línea.
‫Así que pasé a la siguiente línea.
‫Y ahora puede ver que la diferencia es un valor que tiene siete valores.
‫Entonces es una lista de siete cuerdas, Frank, Joe, Michelle y así sucesivamente.
‫Y cero, tenemos a Frank en el índice uno con Joe y así sucesivamente.
‫Ahora, los amigos de la fiesta en sí siguen siendo una lista vacía, aunque le estamos asignando un valor.
‫Pero eso es porque cuando estás en la línea once, la línea diez se ha ejecutado Partyline 11 aún no se ha ejecutado.
‫Entonces, esto significa que tenemos que volver a pasar para que puedas presionar F 10 nuevamente para pasar a la siguiente línea y
‫nuestra línea 13.
‫Entonces, la línea 12 se omitió porque no hay nada aquí.
‫Allí no hay ningún código.
‫Y simplemente fue a esto para cada bucle.
‫Pero ahora, ¿y si quieres profundizar más?
‫Entonces, ¿qué pasa si quieres saber qué sucedió cuando se llamó a este método para reunir amigos?
‫Lo que puede hacer es retroceder arrastrando esta flecha hacia arriba.
‫Así que lo estoy arrastrando hacia arriba y ahora estoy de vuelta en la línea once.
‫Y ahora puedo en lugar de dar un paso al presionar un botón en el que puedo ingresar presionando F once
‫para poder presionar todos los niveles y entro en el método de conseguir amigos del grupo, lo que significa que ahora estamos en la fila dieciocho, lo que
‫solo significa que ahora estamos dentro de la llamada al método de amigos de la fiesta de la puerta.
‫Y aquí también podemos ir paso a paso.
‫Podemos ver qué son los amigos de la fiesta.
‫Podemos comprobar el valor de los amigos de la fiesta.
‫Puedes ver el recuento, el cero.
‫Entonces es una lista vacía, lo que solo significa que no hay entradas en la lista.
‫Y luego tenemos este bucle while donde comparamos cosas para que podamos ir a la siguiente línea y podamos ver que
‫los amigos de la fiesta cuentan como cero y comparan cero cuatro y cero es menos de cuatro.
‫Entonces, el bucle while es o el while es verdadero.
‫Entonces podemos pasar a la siguiente línea.
‫Y aquí lo llamamos amigos de la fiesta para que podamos profundizar aún más y poder intervenir y conseguir amigos de la fiesta.
‫Y puedes ver que ahora estamos en este método aquí.
‫Entonces, entrar significa entrar en un método, salir, que es el cambio.
‫Once está saltando de un método.
‫Pero ahora echemos un vistazo a esta llamada al método aquí.
‫Puedo ver con el nombre abreviado, que es Joe en este momento.
‫Luego tenemos esto para Loop y aquí vamos, paso a paso en este otoño.
‫Primero establecemos la variable, luego comparamos.
‫Una vez que una comparación es verdadera, vamos al ciclo for o al interior del ciclo for.
‫Entonces tenemos esta declaración if.
‫Comparamos de nuevo y podemos ver, como parece, la longitud tres no es mayor que la longitud
‫o la longitud más corta de tres.
‫Así que tres no es el tercer grado.
‫Ahora, la declaración if no era cierta, por lo que pasó a la siguiente iteración del Falu.
‫Así que ahora ejecutará el ciclo for una y otra vez.
‫Ahora puedes salir de.
‫Y lo que hará es que saldrá de la ejecución de este método y luego podrá ir desde allí.
‫Pero lo que haces con esto es que no ejecutas el ciclo for como lo haría normalmente.
‫Bien, si salgo de nuevo, obtengo una excepción de argumento fuera de rango.
‫Por lo tanto, debe tener cuidado de no entrar y salir todo el tiempo, pero debe usar estas herramientas de
‫manera preocupante, ¿de acuerdo?
‫Y, por supuesto, puede ejecutar desde allí o puede detener la depuración, puede reiniciar todo el proceso de depuración porque ahora tenemos
‫este pequeño error y tal vez no sepa cómo solucionarlo.
‫Así que podemos volver a ejecutar todo y ahora podemos ir, por supuesto, nuevamente, paso a paso.
‫Y podemos.
‫Da un paso al otro lado, da un paso al lado, da un paso al lado hasta que estemos en el punto donde nos da los nombres para que puedas ver ahora
‫que estamos.
‫Michelle, ahora pasa al siguiente nombre de la lista.
‫Ahora la palabra Angelina pasa al siguiente nombre de la lista, y es Carlos.
‫Entonces puede ver que puede verificar cada variable y el estado de cada variable en cada momento, lo cual
‫es muy importante si quiere resolver las cosas.
‫Está bien.
‫Esa es la idea general de cómo usar los puntos de interrupción y cómo comenzar con el proceso de depuración.
‫En el siguiente video, veremos cómo corregir este error lógico al ver las variables y sus estados de una
‫mejor manera, porque ahora puedo, por supuesto, pasar el cursor sobre las variables y ver qué
‫valor tienen en este punto específico.
‫Pero quiero comparar múltiples variables al mismo tiempo o ver el estado de múltiples variables al mismo
‫tiempo.
‫Y eso es lo que veremos en el siguiente video.
‫Así que te veré allí.