martes, 16 de abril de 2013

Debugar en Smallworld

Smallworld a partir de la versión  4.1, es capaz de debugar una función es particular, para activar esta opción, debemos cargar los módulos de “Development Tools”, que se realzará desde el dialogo de carga de modulos.
Para iniciar la carga de módulos, utilizamos el método:
-          sw_module_dialog.open();



Cargaremos todos los modulos de  Development tools, esto nos creará una nueva aplicación en el aplication manager llamada Development tools,  esta aplicación nos dara el poder de un desarrollador avanzado, con múltiples funcionalidades, que iremos explicando poco a poco, pero la que nos interesa actualmente es la debugación de un método determinado, para ello abriremos la aplicación u activaremos la función “debug Magik Methods”

Al abrir esta funcionalidad, nos encontraremos con una ventana muy simple, con un gran espacio para escribir, en este espacio deberemos copiar el método que queremos debugar. Esta pantalla de debugación también se puede abrir una vez cargamos los módulos de desarrollador, con el mathode:
-          dev_tools.activate_debugger()
Como ejemplo hemos creado el siguiente método:
_method integer.mola()   x<<3   y<<2   z<< x+y
   _return z_endmethod$
La hemos compilado y copiado en el debuger, una vez copiado hemos clicado el botón OK.
Inmediatamente la ventana nos ha recompilado el código y nos ha puesto checkbox al lado de cada línea, estos chekbox serán nuestros breakpoints, si esta activo se parara en esa línea.


Ahora al ejecutar el método, si tenemos algún punto de interrupción se parará en esa línea
La opciones  que tenemos para debugar nuestro código son:


-          Step: Ejecuta la línea de código actual.
-          Run: Sigue la ejecución del código, hasta el siguiente punto de interrupción.
-          TraceBack: nos abrirá una ventana con el traceback de nuestro código.
-          Object: esta opción abre una ventana para la inspección del objeto, esta ventana se puede abrir con un click sobre la variable.

Hasta aquí el primer contacto con el debugador de magik, para todos aquellos que estamos usando Emacs en lugar del MDT. En breve explicaremos con más detalle, tanto más opciones de las developers tools, como la ventana del inspector.

Hasta la próxima.

viernes, 22 de marzo de 2013

Volvemos a la programación Magik

Buenos dias, por unas cosas de la vida, despues de cinco años de no tocar Magik, para nada, vuelvo al maravilloso mundo de Magik y Emacs.
Esta vez para realizar una migración de una aplicación de versión 4.0 a la versión de SmallWord 4.3.
He empezado a ver muchas diferencias entre estas versiones de Smallworld, así que ire explicandolas a medida que las vaya descubriendo y usando.

Para abrir boca, de la primera funcionalidad que hablaremos es de la debugación de metodos, pero eso serà en el proximo articulo.

Por tanto solo me queda por decir bienvenido de nuevo al mundo Magik.

Saludos y hasta pronto