Herramientas de perfilado y anotación - Notas de release


1.0 Limitaciones
   1.1 Cómo abrir la vista Consola en la perspectiva Perfilado y anotación
   1.2 Kit de pruebas: tenga en cuenta la posibilidad de elegir la codificación UTF-8 para los archivos fuente del Kit de pruebas
   1.3 Análisis de fugas: el análisis de fugas no está disponible en OS/400 iSeries(TM)
   1.4 Sugerencias para perfilar la aplicación.
   1.5 Análisis de fugas: comportamiento inesperado con "Enviar datos de perfil a un archivo"
   1.6 Análisis de fugas: la apertura del gráfico de referencia de objetos para un vuelco de almacenamiento dinámico IBM(C) OS/390 (SVC) tarda mucho
   1.7 Análisis de fugas: ubicación y gestión de los archivos de vuelco de almacenamiento dinámico optimizado de Hyades
   1.8 Análisis de fugas: el archivo de anotaciones de análisis de fugas
   1.9 Análisis de fugas: establecer RADLEAKJVMSIZE para analizar almacenamientos dinámicos muy grandes
   1.10 Análisis de hebras: la detección de punto muerto no funciona con IBM JRE 1.4.2
2.0 Problemas conocidos
   2.1 Kit de pruebas: no utilizar caracteres no ASCII en nombres de archivo fuente del Kit de pruebas
   2.2 Kit de pruebas: construir archivos fuente del kit de pruebas
   2.3 Kit de pruebas: caracteres no ASCII en las especificaciones destino del Kit de pruebas
   2.4 *Cobertura de nivel de método y línea: 'vaciar en método' con caracteres no ASCII
   2.5 *Cobertura de nivel de método y línea: los filtros EXCLUDE no pueden empezar con un carácter comodín
   2.6 Análisis de fugas: no hay soporte para los vuelcos de almacenamiento dinámico de IBM creados por J9 JVM
   2.7 Análisis de fugas: hay que especificar un proyecto o un supervisor nuevo al importar archivos de almacenamiento dinámico
   2.8 Cobertura de nivel de línea, Kit de pruebas: hay que reiniciar el proyecto para recoger datos de clases ya cargadas
   2.9 *Los caracteres de doble byte no aparecen en la vista de consola
   2.10 *Análisis de fugas: anomalía al perfilar applets con IBM JVM
   2.11 Análisis de fugas: el entorno local para el análisis debe ser el mismo que para la recogida de datos
   2.12 Análisis de hebras: falta el propietario de hebra de bloqueos con IBM JRE 1.4.1 o una versión anterior
   2.13 La JVM de Sun puede sufrir una anomalía general al realizar un perfilado remoto en Solaris

1.0 Limitaciones

1.1 Cómo abrir la vista Consola en la perspectiva Perfilado y anotación

Cuando perfila una aplicación, la vista de consola no aparece en la perspectiva Perfilado y anotación de forma predeterminada.

Para abrir la vista de consola en la perspectiva Perfilado y anotación, seleccione Ventana->Mostrar vista->Consola.

Para que la salida estándar aparezca en la Consola, pulse Ventana->Preferencias->Ejecutar/Depurar->Consola y seleccione Mostrar cuando el programa escribe en la salida estándar.

1.2 Kit de pruebas: tenga en cuenta la posibilidad de elegir la codificación UTF-8 para los archivos fuente del Kit de pruebas

Al crear un archivo fuente de Kit de pruebas nuevo, el asistente permite elegir la codificación XML que desea utilizar. La selección predeterminada es ASCII. Si desea utilizar caracteres no ASCII en el archivo fuente de prueba (por ejemplo, en los campos Etiqueta o Descripción o en el código Java de un fragmento), debe elegir la codificación UTF-8, no ASCII.

Para cambiar la codificación de un archivo fuente de prueba existente, pulse el botón derecho sobre el archivo y seleccione Abrir con -> Editor de texto. Cambie la codificación en la cabecera XML por "UTF-8" y guarde y cierre el archivo. Vuelva a pulsar con el botón derecho y elija Abrir con -> Editor de prueba para editar el contenido.

1.3 Análisis de fugas: el análisis de fugas no está disponible en OS/400 iSeries(TM)

La característica Análisis de fugas no está disponible para los programas de usuario que se ejecutan en OS/400 iSeries(TM). Los vuelcos de almacenamiento dinámico optimizado de Hyades generados en esta plataforma no están completos y no es posible generar vuelcos de almacenamiento dinámico en ningún otro formato.

1.4 Sugerencias para perfilar la aplicación.

El rendimiento de las herramientas de perfilado está directamente relacionado con la cantidad de datos que se recogen y la velocidad a la que se transfieren estos datos al entorno de trabajo. Como la cantidad de datos que se recoge aumente, un usuario experimentará una disminución en el rendimiento tanto en términos del tiempo invertido en el análisis, como en términos de la memoria disponible para realizar determinadas tareas. Hay varias formas en las que un usuario puede mejorar el rendimiento del perfilado.

1.5 Análisis de fugas: comportamiento inesperado con "Enviar datos de perfil a un archivo"

Al recoger los vuelcos de almacenamiento dinámico optimizado de Hyades, si envía los datos a un archivo trcxml seleccionando "Enviar datos de perfilado a un archivo", tenga en cuenta lo siguiente:

Debe tener Agent Controller ejecutándose en el sistema principal de despliegue para acceder a los archivos de almacenamiento dinámico que se guardan aquí. La primera vez que ejecuta Importar->Archivo de perfilado sobre el archivo trcxml, el análisis de fugas y la visualización de gráficos de referencia de objetos funcionan tal como se esperaba.

Si vuelve a ejecutar Importar->Archivo de perfilado, la importación funciona pero los intentos de ejecutar el análisis de fugas o el gráfico de referencias de objetos pueden fallar. Esto es porque los archivos de almacenamiento dinámico necesarios pueden no estar disponibles en el sistema principal de despliegue.

Si se produce este problema, acceda a los archivos de almacenamiento dinámico del proyecto en el que importó primero el archivo trcxml. Los archivos de almacenamiento dinámico están en un directorio llamado "leakanalysisheapdir" en el directorio del proyecto.

1.6 Análisis de fugas: la apertura del gráfico de referencia de objetos para un vuelco de almacenamiento dinámico IBM(C) OS/390 (SVC) tarda mucho

Los vuelcos de almacenamiento dinámico de IBM(C)OS/390(SVC) son muy grandes. La expansión de vuelcos de almacenamiento dinámico grandes para verlos en la vista Gráfico de referencia de objetos puede tardar mucho. Como resultado, puede parecer que la operación se haya colgado. El entorno de trabajo puede estar expandiendo activamente el almacenamiento dinámico aunque el supervisor de progreso aparezca atascado en el 100%.

1.7 Análisis de fugas: ubicación y gestión de los archivos de vuelco de almacenamiento dinámico optimizado de Hyades

Al realizar la acción "Capturar vuelco de almacenamiento dinámico" se generan vuelcos de almacenamiento dinámico optimizado de Hyades en el sistema principal en el que se despliega la aplicación destino. El directorio de destino del vuelco de almacenamiento dinámico está controlado por el valor de LOCAL_AGENT_TEMP_DIR en el archivo de configuración de Agent Controller, serviceconfig.xml. Para obtener información sobre dónde encontrar y cómo modificar este archivo, consulte el tema de Ayuda "Administrar Agent Controller" bajo "Detectar y analizar problemas de tiempo de ejecución."

Si obtiene cualquiera de los mensajes de error siguientes, "La expansión del vuelco de almacenamiento dinámico ha fallado en el paso: ...Leyendo archivo" o "El análisis de fugas ha fallado en el paso: Crear gráfico de referencia de objeto de almacenamiento dinámico", verifique que Agent Controller esté ejecutándose en el sistema principal de despliegue y vuelva a intentar el mandato. Agent Controller ayuda a copiar los archivos del sistema principal de despliegue en el directorio del proyecto del entorno de trabajo.

1.8 Análisis de fugas: el archivo de anotaciones de análisis de fugas

Si surgen problemas durante el análisis de fugas, el archivo de anotaciones de Análisis de fugas puede resultarle de ayuda.

Durante el análisis de fugas, la información de diagnóstico se escribe en el archivo LeakAnalysis.log. LeakAnalysis.log contiene la salida de los distintos pasos realizados durante el análisis de fugas e indicará el éxito o el fracaso de la ejecución del análisis de fugas.

LeakAnalysis.log se escribe en el proyecto de perfilado asociado a los datos del perfil. Por ejemplo, en Windows, <mi_área_de_trabajo>\ProfileProject\LeakAnalysis.log.

Puede escribir más información en el archivo de anotaciones utilizando la propiedad del sistema RADLEAKREGIONDUMP. Añada esta opción a rationalsdp.ini:

VMArgs=-DRADLEAKREGIONDUMP=1

El archivo rationalsdp.ini se encuentra en el directorio de instalación de Rational Application Developer.

1.9 Análisis de fugas: establecer RADLEAKJVMSIZE para analizar almacenamientos dinámicos muy grandes

Si el análisis de fugas falla con el mensaje siguiente en el archivo LeakAnalysis.log, 'JVMDUMP006I Evento de vuelco de proceso "uncaught", detalle "java/lang/OutOfMemoryError"' debe aumentar el tamaño del almacenamiento dinámico del proceso de análisis de fugas.

Para hacerlo, establezca el atributo del sistema de Rational Application Developer RADLEAKJVMSIZE. Este atributo controla el tamaño de almacenamiento dinámico de JVM disponible durante el análisis de fugas.

Para establecer RADLEAKJVMSIZE, añada esta opción al archivo rationalsdp.ini:

VMArgs=-DRADLEAKJVMSIZE=valor

Donde valor es el límite del tamaño de almacenamiento dinámico nuevo, como por ejemplo 1024M. El valor por omisión es 512M. Debe indicar si el tamaño del almacenamiento dinámico se expresa en megabytes o gigabytes (M o G).

El archivo rationalsdp.ini se encuentra en el directorio de instalación de Rational Application Developer.

1.10 Análisis de hebras: la detección de punto muerto no funciona con IBM JRE 1.4.2

Al utilizar la JVM clásica de IBM con la característica de perfilado Análisis de hebras, la vista Hebra de la perspectiva Perfilado y anotación no muestra los estados 'Esperando bloqueo' para todas las hebras implicadas en un punto muerto. Esto es debido a la falta de información en los datos recogidos. Solución: utilice la JVM J9 de IBM añadiendo -Xj9 en el campo de argumentos de VM de la pestaña Argumentos del diálogo Perfil.

2.0 Problemas conocidos

2.1 Kit de pruebas: no utilice caracteres no ASCII en los nombres de archivos fuente del Kit de pruebas

Los archivos fuente del Kit de pruebas con caracteres no ASCII en sus nombres no se procesarán correctamente. Utilice solo los caracteres ASCII en los nombres de archivo fuente del Kit de pruebas.

2.2 Kit de pruebas: construir archivos fuente del kit de pruebas

No utilice la acción Kit de pruebas->Compilar que aparece en el menú de contexto para los archivos *.probe. En lugar de esto, convierta el proyecto que contiene el archivo *.probe en un proyecto de Kit de pruebas y utilice el mecanismo de construcción estándar. (Para convertir un proyecto Java en un proyecto de Kit de pruebas, utilice Archivo->Nuevo->Otros y, en la sección Perfilado y anotación, elija Convertir proyectos Java en proyectos de Kit de pruebas).

2.3 Kit de pruebas: caracteres no ASCII en especificaciones del destino del Kit de pruebas

No utilice caracteres no ASCII en los patrones de las especificaciones de "destino" del Kit de pruebas. Las pruebas que contienen caracteres no ASCII en los patrones de destino no se procesarán correctamente.

2.4 *Cobertura de nivel de método y línea: 'vaciar en método' con caracteres no ASCII

No utilice caracteres no ASCII al añadir patrones de método para "Vaciar datos de cobertura cuando..."

Si especifica caracteres no ASCII en los campos de paquete, clase o método del diálogo Añadir del patrón de método, se visualizará un error de entrada no válido y no podrá cerrar el diálogo.

Solución: utilice un carácter comodín (asterisco) en el lugar de los caracteres no ASCII de los patrones.

Nota: esto se ha arreglado en V6.0.0.1.

2.5 *Cobertura de nivel de método y línea: los filtros EXCLUDE no deben empezar con un comodín

Un filtro EXCLUDE que empiece por un carácter comodín (asterisco), como por ejemplo "*foo", origina que las vistas Estadísticas de cobertura, Navegador de cobertura y Fuente anotado no muestren datos. Solución: no utilice un filtro EXCLUDE así.

Nota: esto se ha arreglado en V6.0.0.1.

2.6 Análisis de fugas: no hay soporte para los vuelcos de almacenamiento dinámico de IBM creados por J9 JVM

La característica Análisis de fugas no está disponible para los programas de usuario que ejecutan la JVM J9 de IBM.

La JVM J9 de IBM crea archivos de almacenamiento dinámico con nombres parecidos a heapdump.20041012.093936.2192.dmp cuando establece la variable de entorno IBM_HEAPDUMP y envía señales "kill -3" al proceso Java en ejecución. Estos archivos .dmp necesitan procesarse a posteriori ejecutando j9extract y jdmpview y crear vuelcos de almacenamiento dinámico de IBM.

El formato de estos vuelcos de almacenamiento dinámico no es idéntico al formato de los vuelcos de almacenamiento dinámico generados por la JVM clásica de IBM.

2.7 Análisis de fugas: hay que especificar un proyecto o un supervisor nuevo al importar archivos de almacenamiento dinámico

Si importa varios conjuntos de vuelcos de almacenamiento dinámico con el mismo nombre de supervisor en un proyecto existente, puede perder datos si después guarda el proyecto o sale del entorno de trabajo.

Para evitar esto, especifique una combinación Proyecto/Supervisor exclusiva para cada conjunto de almacenamientos dinámicos importados.

2.8 Cobertura de nivel de línea, Kit de pruebas: hay que reiniciar el proyecto para recoger datos de clases ya cargadas

Si inicia un servidor WAS y se conecta a él, los tipos de perfilado Kit de pruebas y Cobertura de nivel de línea no recogerán datos para ninguna clase que ya se haya cargado en la JVM destino. Solución: para recoger datos de estas clases, reinicie el proyecto que contiene estas clases.

2.9 *Los caracteres de doble byte no se muestran en la vista de consola

Durante el perfilado, todos los caracteres de doble byte aparecen como ???? en la vista de consola.

Nota: esto se ha arreglado en V6.0.0.1.

2.10 *Análisis de fugas: anomalía al perfilar applets con IBM JVM

El perfilado de applets con IBM 1.4.2 SR1 JVM para el análisis de fugas acaba en una anomalía de JVM. Especifique -Xj9 en los argumentos de VM para solucionar este problema.

Nota: esto se ha arreglado en V6.0.0.1.

2.11 Análisis de fugas: el entorno local para el análisis debe ser el mismo que para la recogida de datos

Los valores del entorno local del sistema principal del entorno de trabajo, del sistema principal de despliegue remoto y de la aplicación destino deben ser iguales cuando se recogen vuelcos de almacenamiento dinámico optimizado de Hyades.

2.12 Análisis de hebras: falta el propietario de hebra de bloqueos con IBM JRE 1.4.1 o una versión anterior

Al perfilar para el Análisis de hebras con IBM JVM 1.4.1 o una versión anterior, la vista Hebras de la perspectiva Perfilado y anotación no muestra el propietario de hebra de los supervisores de bloqueo ya que este dato no se recoge. Solución: actualice a IBM JRE 1.4.2.

2.13 La JVM de Sun puede sufrir una anomalía general al realizar un perfilado remoto en Solaris

Al realizar un perfilado remoto en Solaris, un defecto en la JR de Sun 1.4.x impide el perfilado de algunas combinaciones de características, especialmente con el perfilado de memoria o el análisis de hebras habilitado. Este problema se describe en el sitio Web de Sun: http://developer.java.sun.com/developer/bugParade/bugs/4614956.html Solución: utilice Sun JRE 1.4.2_06 o una versión posterior.

Volver al archivo readme principal