2011-03-14 6 views
5

de vez en cuando Me atormenta el "org.eclipse.swt.SWTError: no más identificadores". Ya conozco herramientas como GDIView, para ver el número de identificadores asignados, pero ahora me pregunto si hay una mejor manera de hacerlo.SWT - Cómo depurar "No más identificadores"

¿Hay alguna herramienta disponible? ¿Tal vez uno que registra todas las stacktraces cuando se crean los handles? ¿Y cuál muestra los nuevos identificadores entre dos puntos de invocación?

Saludos, Daniel

PS: Añadido la etiqueta ventanas porque dev occures sobre todo en las ventanas y una ventana única herramienta sería lo suficientemente bueno.

+0

Esta pregunta puede estar relacionada con su consulta: http://stackoverflow.com/questions/164776/overcoming-windows-user-object-handle-limit – Zoot

+0

@Zoot: Parece que trabaja en los síntomas, no en el porque. Solo busco las filtraciones reales, realmente no necesito muchos controles. Es que poco más de tiempo que hay demasiados recursos utilizados. Al usar sleak, incluso pude buscar recursos recreados. Depurar esto también hace que mi aplicación sea más rápida a través de RDP. – Daniel

Respuesta

3

¡Descubrí Sleak, una gran herramienta para depurar los recursos de SWT! Muy recomendado para todos con los mismos problemas. ¡Incluso muestra las imágenes para los recursos de imagen!

0

Para mí el problema era simplemente que el nuevo Shell() se ha llamado demasiado a menudo. Almacenar el shell como miembro estático y reutilizarlo ayudó. Por lo tanto, antes de aplicar una herramienta como Sleak, otros podrían querer hacer una búsqueda de texto completo con "nueva Shell" y comprobar que no tienen la misma causa simple.