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.
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.
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.
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.
- Un buen comienzo consiste en recoger la mínima cantidad de datos que crea suficiente para crear un perfil de una función determinada. Esto puede conseguirse estableciendo un Filtro más eficiente en la configuración de lanzamiento del perfilado. En el diálogo Ejecutar->Perfilar, seleccione la pestaña Perfilado.Seleccione un conjunto de perfilado, seguido por el botón Editar, seguido de Siguiente > y estará en el diálogo Filtro. Utilice un filtro para incluir áreas de interés. Siempre puede cambiar el filtro para incluir más datos o datos distintos en una ejecución posterior.
- Si no desea perfilar el código inicial, quite la marca del recuadro de selección "Iniciar la supervisión automáticamente al lanzar la aplicación" en la pestaña Perfilado - Límites del diálogo Ejecutar->Perfilar. Esto debería ayudar a reducir el tiempo que tarda en lanzar el programa que se analiza y también a sacar el código inicial del perfilado. Tenga en cuenta que para iniciar el perfilado, debe pulsar el botón de la barra de herramientas "iniciar supervisión" en el Supervisor de perfilado después de que aparezca el área de trabajo.
- Puede intentar redirigir la salida a un archivo. Esto utilizará menos memoria en RAD. Puede importar el archivo en RAD en otro momento cuando solo se utilice para revisar este archivo de perfilado para que haya más memoria libre para esta tarea. Esto se hace a través del diálogo Ejecutar->Perfilar, seleccione la pestaña Perfilado, subpestaña Destino y marque el recuadro de selección "enviar datos de perfilado a un archivo" antes de perfilar. Utilice después el diálogo Archivo->Importar y seleccione el tipo Archivo de perfilado. Tenga en cuenta que no puede ver los datos durante el perfilado si esta opción está seleccionada. Primero debe importar y después podrá ver. Hay una oportunidad de seguir reduciendo la cantidad de memoria importando solo una parte del archivo de perfilado en el diálogo Importar. Puede resultar de ayuda importar partes distintas y examinarlas por separado.
- El perfilado puede acarrear un actividad general de memoria elevada, por lo que resultará útil aumentar la memoria virtual que utiliza RAD. Para iniciar RAD con 512 MB de memoria virtual (y 1 GB como máximo), añada la línea siguiente al archivo rationalsdp.ini: VMArgs=-Xms512m -Xmx1024m
- Si el problema surge durante la recogida de datos en el sistema destino, puede intentar aumentar el tamaño de los almacenamientos intermedios que utiliza para enviar datos a RAD. Añada la línea siguiente a serviceconfig.xml y vuelva a iniciar el agente. (Esto aumentará el tamaño del almacenamiento intermedio a 256 MB.) En aplicaciones con mucha actividad de CPU, que incrementan el tamaño del canal de datos, también resulta de ayuda lo siguiente: <Agent configuration="default" name="Java Profiling Agent" dataChannelSize="256M" type="profiler"/>
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.
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%.
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.
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 Software Architect.
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 Software Architect 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 Software Architect.
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.
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.
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).
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.
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.
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í.
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.
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.
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.
Durante el perfilado, todos los caracteres de doble byte aparecen como ???? en la vista de consola.
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.
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.
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.
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