Informática
Programación.

Tu Instituto Online
   


 
Nivel Básico Gambas: Depuración del código
Duración aproximada: 1/2 sesión
   
Objetivos Objetivos
  • http://www.gambas-es.org
  • Conocer las herramientas que proporciona Gambas para depurar el código fuente.
  • Aprender a usar los puntos de interrupción y las ejecuciones paso a paso en Gambas.
   
Fuentes de información Fuentes de información
  • Libro “GAMBAS, programación visual con Software Libre”, de la editorial EDIT LIN EDITORIAL S.L., cuyos autores son Daniel Campos Fernández y José Luis Redrejo.
  • Libro “Fundamentos de programación”, de la editorial Univ. Politécnica de Valencia, cuyos autores son Mª Alpuente Fresnedo y otros.
   
Contenidos
Contenidos
 

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 Punto de interrupción, 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

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 Siguiente instrucción a ejecutar, mencionado anteriormente.

Siguiente instrucción a ejecutar

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

  • 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

  • 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

  • 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

  • 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

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.

 

  
Ojo

Es fundamental el uso de estas herramientas para detectar los posibles errores en nuestro código.

   
  
Ejercicios
Ejercicio
 

Vamos a depurar los programas de la práctica anterior.

  • Abre el proyecto “10EjerCondiciones”.
  • Abre el módulo “CompararCad”.
  • Crea un punto de interrupción en la línea de la comparación de cadenas (“IF Cadena1 = Cadena2 THEN”). Utiliza la tecla F9.
  • Ejecuta el programa. Fíjate que la ejecución se detiene justo en la línea que hemos seleccionado.
  • Continúa la ejecución paso a paso con la tecla F8.
  • Examina el valor de la variable Cadena1 y Cadena2 en la pestaña Variables locales (ver parte inferior de la ventana).

 

  • Cuando hayas introducido las dos cadenas, captura la pantalla en la que se vea el punto de interrupción y los valores de las dos variables Cadena1 y Cadena2 mientras se está ejecutando el programa.

 

  • Elimina el punto de interrupción.
  • Finaliza la depuración.
  • Sube a la plataforma la captura de la pantalla realizada. Debe ser algo parecido a esto:

Resultado de la captura

 

 

   
Ejercicios
Ejercicio
 

Vamos a seguir depurando los programas de la práctica anterior.

  • Abre el proyecto “10EjerCondiciones”.
  • Abre el módulo “ParImpar”.
  • Crea un punto de interrupción en la línea en la que se convierte la cadena de texto leída a número entero (“iValor = Cint(sNumero)”). Utiliza la tecla F9.
  • Ejecuta el programa.
  • Fíjate que la ejecución se detiene justo en la línea que has seleccionado.
  • Continúa la ejecución paso a paso con la tecla F8.
  • Examina el valor de la variable sNumero, iValor e iResto en la pestaña Variables locales (ver parte inferior de la ventana).

 

  • Cuando hayas introducido el número captura la pantalla en la que se vea el punto de interrupción y el valor de las variable sNumero, iValor e iResto (deberás avanzar en la ejecución del programa para que todos tengan valor) mientras se está ejecutando el programa.

 

  • Elimina el punto de interrupción.
  • Finaliza la depuración.
  • Sube a la plataforma la captura de la pantalla realizada. Debe ser algo parecido a esto:

Resultado de la captura

 

 

   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.