Localizar una fuga de memoria en una operación orientada a transacciones
Este procedimiento pretende ayudarle a identificar una fase del programa en
la que se crean objetos nuevos, pero no se liberan, impidiendo así que la
recogida de basura pueda eliminarlos. Por ejemplo, su programa crea una
ventana de diálogo, pero los objetos relacionados con el diálogo siguen estando
retenidos después de que la ventana se haya cerrado. Los procedimientos
generales constan de los siguientes pasos:
- Perfile su aplicación. Recoja las referencias de objeto antes de la operación en cuestión
y examine la tabla Referencias de objeto. Siga el procedimiento descrito en el tema
Identificar las fugas de memoria.
- Ejecute la operación, recoja de nuevo las referencias de objeto y examine la
tabla para ver las referencias de objeto que se hayan creado.
- Termine la operación, recoja las referencias de objeto y examine la
tabla para ver si quedan referencias a los objetos creados.
- Para crear un vuelco de las referencias de objeto, utilice el botón
Recoger referencias de objeto
.
Los objetos que existían justo antes del vuelco son los
objetos antiguos.
- Luego, cree un vuelco de los objetos y las referencias inmediatamente después de
que haya finalizado la operación. Los objetos que se crearon y no se pudieron recoger en el
intervalo entre los dos vuelcos de las referencias se marcarán como objetos nuevos en la
tabla Referencias de objeto.
- Abra la vista Supervisor de perfilado.
- Seleccione el agente.
- Pulse el botón derecho del ratón y seleccione Abrir con >
Referencias de objeto.
Se abre la tabla Referencias de objeto.
Para identificar las referencias de un objeto:
- Abra la tabla Referencias de objeto.
- Asegúrese de seleccionar Mostrar referencias por.
- Seleccione la clase de su objeto y expanda el elemento.
- Identifique las referencias que impiden reclamar los nuevos objetos.
Conceptos relacionados
Visión general de la herramienta de perfilado
Recursos de perfilado
Tabla Referencias de objeto
Tareas relacionadas
Identificar las fugas de memoria
Perfilar una aplicación
Lanzar o conectar un proceso Java
Analizar el rendimiento y la utilización de la memoria - visión general
(C) Copyright IBM Corporation 2000, 2003. Reservados todos los derechos.