Depuración de Xcode con puntos de interrupción (para principiantes)
Como aprendiz de por vida, se entiende que cometer errores es parte del proceso de aprendizaje. En programación, estas cosas molestas se conocen como 🐞’s (bugs). Ser un depurador minucioso y eficiente me convertirá en un mejor programador y eventualmente me permitirá escribir un código excelente a largo plazo.
Pensé que sería una buena idea investigar un poco sobre la depuración a nivel de principiante dentro de Xcode y cómo familiarizarme con la herramienta de depuración Breakpoint y algunas de sus capacidades.
Entonces, ¿qué es un breakpoint?
Un breakpoint es una herramienta de depuración que te permite pausar la ejecución de tu programa hasta un momento determinado.
¿Por qué debería usar un breakpoint?
Crear puntos de «pausa» en tu código puede ayudarte a investigar tu código para ver dónde se producen los fallos.
¿Cómo creo puntos de ruptura?
Fácil. Decide dónde quieres pausar la ejecución de tu código y haz clic en el canalón de la izquierda para crear un punto de interrupción azul.
Vamos a echar un vistazo a la fabulosa que llamamos «Área de depuración.»
¿Qué pasa en la captura de pantalla de arriba?
He creado una función findSumOfEvens() que suma dos enteros si AMBOS son pares. Puse un punto de interrupción en la línea 25, después de llamar a mi función findSumOfEvens(n1: 2, n2: 4) en la línea 24. La función estaba en pausa en la línea 25, lo que significa que la segunda llamada de findSumOfEvens(n1: 1, n2: 6) no fue llamada TODAVÍA.
También anoté algunos botones / áreas de depuración de Xcode útiles. Nota:
- Continuar / Pausa = (atajo de teclado es ⌃ + ⌘ + Y)
Y estos botones de control de ejecución:
- Paso Arriba = (el atajo de teclado es F6)
- Paso Adentro = (el atajo de teclado es F7)
- Paso Afuera = (el atajo de teclado es F8)
Ejecuté el proyecto, y la consola imprimió «La suma de sus números pares es 6.»
A continuación, hice clic en el botón «Step Over» para ejecutar la siguiente línea de código (línea 25) – que es donde puse el punto de interrupción.
Encima, puedes ver que «paso por encima» de la siguiente línea de código realmente la EJECUTÉ y ahora mi consola ha impreso «Ambos números deben ser pares. Inténtalo de nuevo»
¿Cómo me deshago de un punto de interrupción?
Haz clic con el botón derecho del ratón en el punto de interrupción para eliminarlo:
Espera, ¿qué es ese mensaje (lldb) en tu consola?
LLDB significa «depurador de bajo nivel» que proporciona el entorno de depuración subyacente para el desarrollo de aplicaciones iOS. Se puede utilizar para encontrar y eliminar problemas en tu código Swift y Objective-C.
¿Cómo se relacionan los puntos de ruptura y el LLDB?
Puedes escribir comandos de acceso directo en el LLDB para ayudarte a establecer puntos de ruptura en ciertas líneas de código, establecer puntos de ruptura en muchos puntos de tu código, listar todos tus puntos de ruptura y desactivar puntos de ruptura.
Encima, también puedes «listar» todos tus puntos de interrupción en tu proyecto.
Arriba, se ve la información detallada de la lista impresa en la consola, que incluye un «recuento de aciertos», que indica cuántas veces hemos alcanzado un determinado punto de ruptura.
Arriba, utilizo «disable» para desactivar todos mis breakpoints. Si quisiera desactivar sólo mi segundo punto de interrupción, habría introducido «breakpoint disable 2.»
Arriba, establecí un punto de interrupción en un lugar específico de mi código: mi archivo ViewController.swift en la línea 16.
Para recapitular, los comandos de punto de ruptura de LLDB que utilicé fueron:
- breakpoint set
- breakpoint list
- breakpoint disable
Si mi proyecto se bloquea, ¿no debería simplemente hacer clic en stop y terminar la ejecución de la aplicación?
Por lo que he investigado, PARAR (◾️ la app se deshace de la valiosa información de depuración que Xcode está intentando darnos (al desarrollador) para ayudarnos a solucionar el problema. Voy a empezar a utilizar los puntos de interrupción y los botones de control de ejecución para recorrer mejor mi código y ver dónde se producen los errores.
Abraza los fallos como una oportunidad para aprender.
Que los fallos sean siempre a tu favor.