2010-02-16 11 views
16

Estoy ejecutando Eclipse para Java. Creé una versión DOM de un archivo XML. Ahora quiero cambiar un atributo de un elemento en el archivo. Llamé a un método que llamaba a un método en la clase que controla el DOM, y recibí un cuadro de diálogo que decía: "JDI Thread Evaluations ha encontrado un problema. Proceso de excepción async thread queue" mientras depura.JDI Thread Evaluations ha encontrado un problema

Soy un novato relativo en Java y no han llegado a través de este tipo de error, y no tengo ni idea de lo que está causando.

Si alguien tiene alguna sugerencia en cuanto a la causa del problema y/o maneras de solucionarlo ...

Gracias tanto!

Respuesta

6

La interfaz de depuración de Java (JDI) es parte de Java Platform Debugger Architecture. Una forma aparente de activar esta excepción se produce cuando el método toString() de un objeto devuelve descuidadamente null. Hay una discusión interesante here. Es posible que desee probar un depurador diferente, y no estaría de más validar su XML.

+0

curiosamente, la próxima vez que trataba de ejecutar/depurar el programa, yo no tenía ningún problema. – chama

+1

De hecho, varias discusiones mencionaron fallas intermitentes. Esto siempre me hace pensar en problemas de sincronización de subprocesos: una inicialización diferida, por ejemplo, que podría parecer 'nula' a un subproceso pero no a otro. – trashgod

54

mantener un ojo en sus expresiones "reloj" - si no los necesita, eliminar a todos ellos. A veces, ciertas expresiones de reloj han causado este mensaje de error para mí.

Esto también podría explicar por qué sucede a intermitentemente para las personas (a veces tienen tareas de vigilancia que causan el error, sin embargo reiniciar o retirar el reloj adecuado puede resolver el problema sin ellos saberlo.)

+1

Tu consejo me ahorró mucho tiempo. Muchas gracias. –

+2

Me alegra ayudar - me estaba volviendo loco también – Anthony

+1

¡Esta es la respuesta correcta! – mattboy

1

El problema puede también ocurre si la búsqueda de fuente está configurada incorrectamente. Por ejemplo, digamos que uno quiere ver la expresión foo.bar(). Ahora bien, si la búsqueda de origen está configurada incorrectamente, el depurador no puede resolver el enlace de la expresión foo (consulte this eclipse bug). Entonces la invocación de .bar() fallará con una NullPointerException.

4

Este error se produce tranquilos unos momentos en los que la depuración. Puede limpiar esto eliminando todas las instrucciones de watch y todos los puntos de interrupción y reiniciando Eclipse.

0

Este problema puede ocurrir si tiene "Formateadores de detalles" configurados para clases específicas (en Eclipse: Java -> Depurar -> Formateadores de detalles). Intenta deshabilitarlos.

Cuestiones relacionadas