jueves, 24 de marzo de 2011

Depuración de Java con Eclipse


En esta entrada voy a intentar dar unas primeras nociones de cómo facilita Eclipse la depuración de código. En su modo de depuración, Eclipse nos permite ejecutar paso a paso el código y analizar el contenido de las variables.

Lo primero que hay que hacer es definir en qué punto o puntos del código queremos que la ejecución del programa se pause. Para ello, definiremos puntos de ruptura (breakpoints) en las lineas de código donde queramos que la ejecución pause.

Para definir un punto de ruptura (o para eliminar uno existente), nos situamos en la linea que queramos y seleccionamos "Run -> Toggle breakpoint" o hacemos doble-click en la barra a la izquierda de la ventana del código. Al definir un punto de ruptura aparecerá en dicha barra un punto, tal y como se puede ver en la figura.


Una vez tenemos definidos los puntos de ruptura que queramos, iniciamos el depurador seleccionando desde una clase ejecutable "Run -> Debug" o, alternativamente, dando al botón con el bicho:


Lo primero que vemos es que el Eclipse cambia de la perspectiva Java a la Perspectiva Debug. En esta perspectiva, además de el código fuente, el esquema o la consola, podemos ver la información de las variables y una ventana donde se muestran los hilos de ejecución.

En la siguiente imagen podemos ver cómo la ejecución se ha detenido en la linea 14 del main (donde habíamos definido el punto de ruptura) y cómo dicha linea aparece marcada en el código fuente. En la figura podemos ver el contenido de las variables y objetos que existen en el momento en que se ha pausado la ejecución, lo cual nos va a ayudar mucho en la depuración.


Además, podemos indicar que la ejecución siga o se detenga a nuestro gusto utilizando los botones de la vista Debug (o las opciones del menú "Run"). A continuación explicamos las básicas.

Resume. Continúa la ejecución del programa hasta el próximo punto de ruptura o hasta que finaliza la ejecución.
    Terminate. Finaliza la ejecución del programa.
      Step into. Se ejecuta la linea actual y, en caso de ser una llamada a un método, la ejecución continúa dentro del método.
        Step over. Se ejecuta la linea actual y se pasa a la linea siguiente sin entrar en los métodos.
          Step return. Se sigue ejecutando hasta que se ejecute un return. Es decir, se ejecuta por completo el método en el que estemos y se pasa a la linea siguiente a la invocación del método.
            Con todo esto, encontrar los defectos que tengamos en el código se hace mucho más fácil. Por supuesto, hay muchas más cosas que decir acerca de la depuración. Todos los que estéis interesados podéis consultar el manual de Eclipse.

            ¿Qué os parece? ¿Pensáis que sabiendo cómo depurar el código programaréis mejor?

            jueves, 10 de marzo de 2011

            Puntos clave del tema 2

            Estos son los puntos clave del tema 2:
            • Programación modular
              • Qué es y para qué sirve un módulo
              • Creación de módulos
              • Utilización de módulos
            • Paquetes
              • Creación de paquetes
              • Utilización de paquetes
            • Ocultación de información

            martes, 1 de marzo de 2011

            Trabajar en Eclipse con los proyectos en un lápiz de memoria

            Muchas veces nos puede interesar tener nuestros proyectos de Eclipse en un lápiz de memoria y trabajar directamente sobre el lápiz en vez de sobre el disco duro.

            Esto nos puede ser útil para ir de un lado a otro con el código o para evitar perder el trabajo si se va la luz de repente en el aula informática durante un exámen. :)

            No obstante, tener en cuenta que la velocidad de acceso al lápiz de memoria va a ser menor que la de acceso al disco duro y que la probabilidad de que un lápiz de memoria se estropee es mayor que la de un disco duro. Es decir, que hagáis copias se seguridad del contenido del lápiz de memoria de vez en cuando.

            La forma más conveniente de trabajar en Eclipse teniendo los proyectos en un lápiz de memoria es utilizando los workspaces de eclipse. Un workspace no es más que un directorio que contiene los proyectos, directorios y ficheros que se pueden utilizar en Eclipse.

            Los pasos a seguir son los siguientes:

            1.- Conectar el lápiz de memoria al ordenador.

            2.- Crear un directorio en el lápiz donde se va a localizar el workspace.

            3.- Cambiar el workspace actual por el directorio que hemos creado en el lápiz.
                    File -> Switch Workspace -> Other...



            4.- Una vez hecho esto, se reiniciará el Eclipse y tendremos el nuevo workspace vacío sobre el que podemos crear nuestros proyectos.


            Por último, recordad que si en cualquier momento queréis saber dónde se encuentran almacenados en el disco duro los ficheros de vuestro proyecto, solo tenéis que ir a las propiedades del proyecto.
                   Project -> Properties -> Resource -> Location