Ejercicio 1.2: Creación de la primera sonda
Antes de empezar, complete el Ejercicio 1.1: Importación de los recursos necesarios.
La sonda que va a crear informa sobre cada vez que se especifica un método en el programa.
En la creación de una sonda intervienen tres tareas principales:
- Creación de un archivo de origen de ProbeKit vacío.
- Creación del contenido del archivo fuente de Probekit
- Comprobación de la sonda.
Crear un archivo fuente de Probekit vacío
Va a crear el archivo fuente de Probekit en un proyecto propio. (También puede crear sondas en el
mismo proyecto de la aplicación, pero tendrá que convertir el proyecto en un proyecto Probekit para
construir sondas.)
- Cree un nuevo proyecto Java, que contendrá la sonda:
- En la barra de menús Software Development Platform, pulse Archivo > Nuevo > Proyecto. Se abre el recuadro de diálogo Proyecto nuevo.
- Expanda la entrada Java, seleccione Proyecto Java y pulse Siguiente. Se abre el recuadro de diálogo Proyecto Java nuevo.
- En el campo Nombre de proyecto, escriba RandomNumbersProbe y pulse Finalizar. Se añade una entrada para RandomNumbersProbe en la vista Explorador de paquetes.
- Convierta el proyecto en un proyecto ProbeKit:
- En la vista Explorador de paquetes, pulse con el botón derecho del ratón sobre el proyecto
RandomNumbersProbe que acaba de crear y pulse Nuevo > Otro. Se abre el diálogo
Nuevo.
- Marque la opción Mostrar todos los asistentes y, a continuación, expanda la entrada Perfilado y registro.
- Seleccione Convertir proyectos Java a proyectos ProbeKit y pulse Siguiente.
- Si se abre el recuadro de diálogo Confirmar habilitación, pulse Habilitar posibilidades siempre y no volver a preguntarme y, a continuación, pulse Aceptar. Se abre el recuadro de diálogo Convertir proyectos Java a proyectos ProbeKit.
- Asegúrese de que sólo se haya marcado el proyecto RandomNumbersProbe y, a continuación, pulse Finalizar.
- Cree un nuevo archivo de origen de ProbeKit en el proyectoRandomNumbersProbe:
- En la vista Explorador de paquetes, pulse con el botón derecho del ratón sobre
RandomNumbersProbe y después pulse Nuevo > Archivo. Se abre el recuadro de diálogo Nuevo archivo.
- Seleccione RandomNumbersProbe para que se convierta en la carpeta padre.
- En el campo Nombre de archivo, teclee RandomNumbersProbe.probe (se necesita la
extensión .probe) y a continuación pulse Finalizar. Se añade una entrada para RandomNumbersProbe.probe en la vista Explorador de paquetes. Se abre la vista Editor de ProbeKit y problemas.
Ahora tiene un archivo de origen de ProbeKit vacío en su propio proyecto. Puesto que el archivo
se encuentra en un proyecto ProbeKit, y ya que ha habilitado "Construir automáticamente" en el
espacio de trabajo, el compilador de sondas ha tratado de compilar el archivo de origen. La vista Problemas informa de que se ha producido un error porque un archivo vacío no es un archivo de origen de ProbeKit válido.
Creación del contenido del archivo fuente de Probekit
Ahora utilizará el editor Probekit para crear la sonda.
Cada definición de sonda incluye un fragmento que define la lógica de la sonda. La sonda
que va a crear contiene un solo fragmento de código Java del tipo "entry." Un fragmento "entry" es un fragmento que se desencadena en el momento en que se genera la entrada del método de los métodos especificados en el programa que está investigando. En esta sonda, cada vez que se especifica un método, el fragmento "entry" imprime el nombre de la
clase y del método.
Para conseguirlo, debe escribir código fuente para el fragmento y definir también dos partes de
datos, nombre de clase y nombre de método a los que el fragmento debe poder acceder.
Nota: ProbeKit da soporte a otros tipos de fragmentos además de los fragmentos "entry". Por ejemplo, también puede escribir fragmentos que se ejecuten cuando los métodos especificados
finalicen, o cuando un método especificado maneje una excepción. Consulte la ayuda del sistema para obtener información detallada.
La sonda se escribirá de forma que se aplique a todas las clases y métodos. Sin embargo, cuando
la despleguemos, restringiremos su ámbito filtrando las clases del sistema como parte del
procedimiento de inicio.
Para crear la sonda:
- En la esquina inferior del editor Probekit, pulse la pestaña Sondas. (Las entradas de la
página General son opcionales, puede utilizarlas para mantener un registro.)
- Pulse Añadir sonda. Se añade una entrada Probe en el panel de árbol del lado
izquierdo del editor.
- Pulse el botón derecho del ratón sobre la entrada Sonda recién creada y pulse Nuevo >
Fragmento. Se añade una entrada Fragment al panel de árbol bajo la entrada
Probe. Por omisión, los fragmentos se crean como fragmentos "entry". (Tenga en cuenta que
entry también es la opción seleccionada en el campo Tipo de fragmento del panel de edición
que aparece a la derecha del editor de ProbeKit.)
- Efectúe una doble pulsación sobre la pestaña
de la vista del editor de Probekit para aumentar el editor de forma que pueda ver todo el panel de
edición. (Al volver a efectuar una doble pulsación sobre la pestaña, la vista se restaura con el
tamaño original.)
- Cree una variable que contenga el primero de los elementos de datos que desea definir, el
nombre de la clase:
- En el panel de edición, bajo "Elementos de datos," pulse Añadir. Se añade un elemento de
datos predeterminado del tipo "className".
- Pulse Editar.
- En el recuadro de diálogo Editar elemento de datos, en el campo Nombre, teclee cname
como el nombre de variable y pulse Aceptar.
- Cree una variable que contenga el segundo elemento de datos, el nombre de método:
- Vuelva a pulsar Añadir y pulse Editar para editar el elemento de datos recién
añadido.
- Para Tipo de datos, seleccione methodName en la lista.
- En el campo Nombre, teclee mname como nombre de variable y pulse Aceptar.
- En el área Código Java, escriba la línea de código siguiente:
System.out.println("[Enter method " + cname + "." + mname + "]");
- En la barra de menús, seleccione Archivo > Guardar. El compilador de sondas compila automáticamente la sonda a partir de su código fuente.
Comprobación de la sonda
Al guardar la sonda, el compilador de sondas visualiza los errores producidos en la vista Problemas. Para ver si algo ha ido mal, consulte esta vista que acabamos de mencionar, la vista Problemas. Si se han producido errores, corríjalos en el editor de sondas y guarde la sonda otra vez.
En la vista Problemas pueden visualizarse dos tipos de errores:
- Un tipo de error es un error estructural del archivo de origen de ProbeKit. Por ejemplo, un elemento "probe" no puede contener dos fragmentos del mismo tipo. En la columna Recursos de la vista Problemas se informa de este tipo de error, como errores del archivo de origen de sonda.
- El otro tipo de error aparece en el componente de código fuente Java de un fragmento de sonda. Debido al modo en que está estructurado ProbeKit internamente, cuando se informa de estos errores, en realidad se hace contra un archivo distinto, un archivo generado por ProbeKit que, en este caso, se llamaría RandomNumbersProbe_probe.java. Si efectúa una doble pulsación en el error de la vista Problemas, se abre el archivo de origen Java que se ha generado. Incluso puede solucionar el problema aquí, pero no debe hacerlo: los cambios que efectúe aquí se
sobrescribirán la próxima vez que el compilador de sondas genere el archivo a partir del origen de
las sondas. En su lugar, debe examinar el archivo Java que se haya generado para determinar en qué fragmento aparece el error y, a continuación, solucionar el problema en dicho fragmento mediante el editor de ProbeKit.
¡Lo ha conseguido!, ha creado su primera sonda.
Ahora ya está preparado para comenzar el Ejercicio 1.3: Aplicación de la sonda.