¿Qué es un depurador?

Completado

Durante su trabajo como desarrollador, es inevitable que en algún momento se pregunte:

¿Por qué no funciona el código?

Esta es una parte normal del día a día de cualquier desarrollador. El truco es familiarizarse con la búsqueda y la corrección de los errores para que no se convierta en una actividad frustrante y pesada. Cuando hay un error en un programa, todos suelen tener su propio modo de tratar este problema.

Probablemente ya haya probado uno o varios de estos enfoques de depuración usted mismo:

  • Intente volver a ejecutar el programa porque debería funcionar.
  • Explicarle el problema a un amigo imaginario.
  • Volver a leer el código para averiguar cuál es el problema.
  • Ir a dar un paseo.
  • Enviar algunos mensajes de correo no deseado Console.WriteLine("here") en el código.

Es posible que estos métodos solo funcionen hasta cierto punto. 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 puede usar para observar y controlar el flujo de ejecución de un programa desde una perspectiva analítica. Su objetivo de diseño consiste en detectar la causa principal de un error y ayudar a resolverlo. Para ello, hospeda el programa en su propio proceso de ejecución, o bien lo ejecuta como un proceso independiente que está asociado al programa en ejecución, como .NET.

Hay diferentes tipos de depuradores. Algunos funcionan directamente desde la línea de comandos, mientras que otros vienen con una interfaz gráfica de usuario. En este módulo, usaremos el depurador gráfico integrado de Visual Studio Code.

¿Por qué usar un depurador?

Si no estás ejecutando tu código a través de un depurador, eso significa que probablemente estás adivinando lo que sucede en tu programa. La principal ventaja de usar un depurador es que puedes ver cómo se ejecuta tu programa. Puede seguir línea a línea la ejecución del programa. De esta manera evitará equivocarse.

Cada depurador tiene su propio conjunto de características. Las dos más importantes que se incluyen con casi todos son las siguientes:

  • Controlar 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.
  • Observar el estado del programa: por ejemplo, puede ver el valor de las variables y los parámetros de función en cualquier momento durante la ejecución del código.

El dominio del uso del depurador es una habilidad importante para un desarrollador, pero se suele pasar por alto. Le hace más eficaz a la hora de buscar errores en el código y puede ayudarle a comprender rápidamente el funcionamiento de un programa.

Lo trataremos en la próxima unidad.