1. Depuración en el IDE de Gambas
Una vez escrito parte del código de un programa, lo normal es comprobar si funciona. La mayor parte de las veces el programa no funcionará bien al primer intento. Tanto si se es un programador experimentado como si no, los fallos son parte de la rutina. Saber encontrarlos y corregirlos es lo que se denomina depuración, y es una de las tareas más importantes a realizar.
Cuando son fallos de sintaxis, el entorno de desarrollo suele darnos mensajes indicativos del problema, parando la ejecución en la línea en que se produce.
Cuando se adquiere una cierta soltura con el lenguaje, los fallos de sintaxis son cada vez menos comunes, pero los fallos en la lógica de la ejecución del programa se producirán siempre. Cuando esa lógica pasa, además, por instrucciones de control de flujo, la dificultad en encontrar los errores es mayor, puesto que la aplicación transcurre en distintas ocasiones por la misma porción de código y es posible que el fallo no se produzca la primera vez que se ejecute ese código.
Para facilitar esta tarea, el IDE de Gambas dispone de distintas herramientas de depuración.
1.1. Puntos de interrupción
La primera de ellas es la posibilidad de fijar puntos de interrupción. Es decir, señalar sitios en los que el programa se parará para permitir ver el estado de las variables y en qué punto de la ejecución se encuentra.
Para fijar un punto de interrupción en una línea de código, tan sólo hay que colocar el cursor del ratón en esa línea y pulsar la tecla F9 o el botón con la bandera , que está en la parte superior de la ventana de código.
Las líneas en las que se fija un punto de interrupción comienzan por la bandera y según la configuración del entorno pueden tener un fondo rojo.
![Punto de interrupción colocado](img/gambas_097.png)
La misma operación que crea el punto la elimina, es decir, pulsando F9 de nuevo la bandera desaparecerá y si tenía el fondo rojo también desaparecerá.
La ejecución del programa se arranca pulsando en el símbolo de Play de la ventana de Proyecto (o pulsando la tecla de función F5). Junto a este botón se encuentra otro de Pausa, que permite parar la ejecución, y otro más de Stop que permite detenerla en cualquier momento.
1.2. Ejecución paso a paso
Si se quiere correr la aplicación ejecutando una a una las instrucciones para ir observando por dónde transcurre el flujo del programa, se puede pulsar la tecla de función F8 o cualquiera de los dos botones que se encuentran a la derecha del símbolo de Stop.
Haciendo esto, el entorno de desarrollo saltará a la primera línea que se deba correr e irá ejecutando línea a línea cada vez que pulsemos F8, o el icono que muestra la flecha , mencionado anteriormente.
![Siguiente instrucción a ejecutar](img/gambas_099.png)
1.3. Examinar variables
Finalmente, cuando pausamos la ejecución del programa, aparecen nuevas pestañas en la parte inferior de la ventana de proyecto y un nuevo panel, nosotros nos centraremos en las siguientes:
![Pestañas adicionales](img/gambas_100.png)
- Pestaña Variables locales: Se ven todas las variables del procedimiento que se está ejecutando y el valor que tienen en ese momento. También podemos ver el valor de una variable haciendo doble clic sobre ella durante la ejecución del programa.
![Variables locales](img/gambas_101.png)
- Pestaña Observar (Watch): Podemos introducir cualquier expresión en BASIC, incluyendo operaciones con las variables que el programa tenga declaradas para ver cuál es el resultado o el valor que tienen en el momento de la pausa.
![Observar](img/gambas_102.png)
- Pestaña Puntos de interrupción: Se listan todos los puntos de interrupción que hayamos definido en el código fuente.
![Puntos de interrupción](img/gambas_103.png)
- Panel Trazado de la pila (Stack): Se ve el listado de llamadas entre procedimientos que se han producido hasta llegar a ese punto del programa.
![Trazado de la pila](img/gambas_104.png)
Con todas estas utilidades podemos seguir paso a paso la ejecución de nuestro programa, averiguando en cada momento el valor de cada una de las variables que hemos definido y comprobando que se sigue el camino que habíamos planificado para los distintos valores posibles.
|