Determinación de problemas
La determinación de problemas le ayuda a entender el tipo de error que tiene, y el procedimiento adecuado.
Cuando sepa el tipo de problema que tiene, podría hacer una o varias de las siguientes tareas:
- Arreglar el problema
- Buscar un buen método alternativo
- Recopile los datos necesarios con los que generar un informe de error a IBM
Si su aplicación se ejecuta en más de una plataforma y muestra el mismo problema en todas ellas, lea el apartado sobre la plataforma a la que tenga acceso más fácil.
Primeros pasos en la determinación de problemas
Antes de continuar con la determinación de problemas, hay algunas preguntas iniciales que deben responderse.- ¿Ha cambiado algo recientemente?
- Si ha cambiado, añadido o eliminado software o hardware justo antes de que se produjese el problema, detenga el cambio y vea si el problema continúa.
- ¿Qué más se ejecuta en la estación de trabajo?
- Si hay otro software, incluido un cortafuegos, intente apagarlo para ver si el problema continúa.
- ¿Se puede reproducir el problema en la misma estación de trabajo?
- Saber que este defecto se produce cada vez que se llevan a cabo los pasos descritos es útil, ya que indica un error de programación sencillo. Si el problema se produce en veces alternativas, u ocasionalmente, es muy probable que se trate de problemas de interacción de hebras y de temporización.
- ¿Se puede reproducir el problema en otra estación de trabajo?
- Un problema que no sea evidente en otra estación de trabajo podría ayudarle a encontrar la causa. Una diferencia de hardware podría hacer desaparecer el problema; por ejemplo, el número de procesadores. Asimismo, las diferencias en el sistema operativo y el software de aplicación instalado podrían influir en la JVM. Por ejemplo, la visibilidad de una condición de carrera en la JVM o una aplicación Java™ de usuario puede estar influenciada por la velocidad a la que el sistema realiza determinadas operaciones.
- ¿Se produce el problema en varias plataformas?
- Si el problema se produce sólo en una plataforma, podría estar relacionado con una parte específica de la plataforma de la JVM. También, si no, podría estar relacionado con el código local utilizado dentro de una aplicación del usuario. Si el problema se produce en varias plataformas, el problema puede estar relacionado con la aplicación Java del usuario. De forma alternativa, puede estar relacionado con una parte multiplataforma de la JVM como, por ejemplo, la API de Java Swing. Algunos problemas pueden ser evidentes sólo en hardware determinado; por ejemplo, la arquitectura Intel de 32 bits. Un problema en un hardware determinado podría indicar un problema de JIT.
- ¿Puede reproducir el problema con la última renovación?
- Es posible que el problema también se haya corregido en una renovación reciente. Asegúrese de que está utilizando la última renovación para su entorno. Compruebe las últimas descargas disponibles en las páginas de soporte deJava SDK.
- ¿Está utilizando un sistema operativo soportado con los últimos parches instalados?
- Es importante utilizar un sistema operativo o una distribución que dé soporte a la JVM y tener los últimos parches para los componentes del sistema operativo. Por ejemplo, actualizar las bibliotecas del sistema puede resolver problemas. Además, las últimas versiones del software del sistema pueden proporcionar un conjunto de información de diagnóstico más rico. Consulte los temas de Configuración y comprobación del entorno en la sección de determinación de problemas específica del sistema operativo.
- ¿Ayuda desactivar el JIT o AOT?
- Si desactivar JIT o AOT evita el problema, es posible que haya un problema con JIT o AOT. El problema también puede indicar una condición de carrera en la aplicación Java que sólo aflora en determinadas condiciones. Si el problema es intermitente, reducir el umbral de compilación JIT a 0 podría ayudar a reproducir el problema de manera más coherente. (Consulte Diagnóstico de un problema de JIT o AOT en la Referencia de VM deJ9.)
- ¿Ha intentado volver a instalar la JVM u otro software y volver a crear los archivos de aplicación relevantes?
- Algunos problemas tienen su origen en una instalación dañada o incorrecta de la JVM u otro software. También es posible que una aplicación tenga versiones incoherentes de los paquetes o archivos binarios. Es probable que haya incoherencia en un entorno de desarrollo o de prueba y podría potencialmente resolverse obteniendo un build o una instalación nuevos.
- ¿Ha instalado los últimos parches para otro software que interactúe con la JVM? Por ejemplo, IBM® WebSphere® Application Server y DB2®.
- El problema puede estar relacionado con la configuración de la JVM en un entorno más grande y es posible que se haya resuelto ya en una renovación. ¿Se puede reproducir el problema cuando se han instalado los últimos parches?
- ¿Ha habilitado los volcados del núcleo?
- Los volcados de núcleo son esenciales para que el servicio de IBM pueda depurar un problema. Los volcados de núcleo están habilitados de forma predeterminada para el proceso Java. Consulte Utilización de agentes de volcado para obtener más detalles. Los valores del sistema operativo también podrían necesitar quedarse en su lugar para habilitar la generación del volcado y garantizar que esté completo. Los detalles de los valores del sistema operativo necesarios están contenidos en el apartado de determinación de problemas correspondiente para la plataforma.
- ¿Qué información de registro está disponible?
- El JVM registra información sobre los problemas conforme estos se producen. Puede habilitar el registro más detallado y controlar dónde va la información de registro. Para obtener más detalles, consulte OpenJ9 Mensajes de VM.