Examen del enfoque del depurador de código para depurar código
- 5 minutos
Cada desarrollador tiene que lidiar con errores de código, es simplemente una forma de vida para los desarrolladores. A veces puede detectar rápidamente los errores. Después de todo, escribió el código, y además, se siente bien encontrar y corregir un problema rápidamente. Inevitablemente, habrá ocasiones en las que te encuentres buscando un error que no es tan fácil de detectar.
Proceso de depuración de código
Cuando observe un error en el código, puede resultar tentador probar un enfoque directo. Ese examen rápido en el que cree que el problema podría ser. Si da resultado en los primeros 30 segundos, genial, pero no dejes que te arrastre. No vayas a ese lugar siguiente y al siguiente. No pierdas tiempo con los siguientes enfoques:
- Leer el código (solo una vez más) esperando que esta vez el problema se aparezca ante ti.
- Realizar una ruta de navegación de algunos mensajes
Console.WriteLine("here")
en el código para realizar el seguimiento del progreso a través de la aplicación. - Volver a ejecutar la aplicación con datos diferentes. Esperar que, si ves lo que funciona, comprenderás lo que no funciona.
Es posible que hayas experimentado varios grados de éxito con estos métodos, pero no te engañes. Hay una forma mejor.
Hay un enfoque que se suele considerar más efectivo: usar un depurador. Pero ¿qué es un depurador exactamente?
Un depurador es una herramienta de software que se usa para observar y controlar el flujo de ejecución de un programa desde una perspectiva analítica. Los depuradores ayudan a aislar la causa de un error y a resolverlo. Un depurador se conecta al código mediante uno de estos dos enfoques:
- Al hospedar el programa en su propio proceso de ejecución.
- Al ejecutarse como un proceso independiente asociado al programa en ejecución.
Hay diferentes tipos de depuradores. Algunos funcionan directamente desde la línea de comandos, mientras que otros tienen una interfaz gráfica de usuario. Visual Studio Code integra las herramientas del depurador en la interfaz de usuario.
¿Por qué usar un depurador?
Si no ejecuta el código a través de un depurador, probablemente esté adivinando lo que ocurre en la aplicación en el runtime. La principal ventaja de usar un depurador es que puede ver cómo se ejecuta el programa. Puede seguir línea a línea de código la ejecución del programa. Este enfoque minimiza la posibilidad de adivinar mal.
Visual Studio Code admite depuradores de código que le permiten ver el código mientras se ejecuta. En la imagen siguiente se muestra una aplicación en ejecución, con la ejecución en pausa en la línea de código resaltada. El lado derecho de la pantalla muestra el código del programa, mientras que el lado izquierdo muestra el estado actual de las variables.
Cada depurador tiene su propio conjunto de características. Las dos características más importantes que se incluyen con casi todos los depuradores son las siguientes:
Control de la ejecución del programa. Puede pausar el programa y ejecutarlo paso a paso, lo que le permite ver qué código se ejecuta y cómo afecta al estado del programa.
Observación del estado del programa. Por ejemplo, puede examinar el valor de las variables y los parámetros de función en cualquier momento durante la ejecución del código.
Dominar el uso de un depurador de código es una aptitud importante. Desafortunadamente, es una aptitud que los desarrolladores suelen pasar por alto. El uso eficaz de un depurador ayuda a ser más eficaz en la búsqueda de errores en el código. También puede ayudar a comprender rápidamente cómo funciona un programa.
Resumen
Estos son algunos de los aspectos más importantes que debe recordar de esta unidad:
- La depuración de código es una aptitud fundamental en el proceso de desarrollo de software que aprende cada desarrollador.
- El mejor enfoque para depurar las aplicaciones es usar un depurador, no volver a leer el código cinco veces o agregar instrucciones
console.WriteLine()
a lo largo del código. - Los depuradores permiten pausar la aplicación, recorrer el código línea por línea y observar el estado de las variables y los parámetros de función.