Estoy intentando solucionar problemas con un JUnit. En el código fuente, establecí un punto de interrupción en dos lugares: 1) en una línea donde se inicializa un miembro estático 2) la primera línea de uno de los casos de prueba.
El depurador se detiene en la línea de inicialización del campo estático. Pero no se detiene en el caso de prueba. No importa dónde establezca el punto de interrupción en el caso de prueba, el depurador no se detiene allí. Sé con certeza que el caso de prueba se ejecuta, ya que puedo ver que los mensajes de registro que he agregado aparecen en el registro.
Cualquier ayuda será muy apreciada.
Estoy usando el lanzador Eclipse Galileo y JUnit4.
Respuestas:
Esto podría estar relacionado con uno de los errores en la actualización 14 de JDK 6, como se indica en las notas de la versión de la actualización 15 de JDK 6 .
Si este resulta ser el problema, debería pasar a una versión superior del JDK (aunque eso no es garantía, ya que se han publicado correcciones contra 6u16, 6u18 y 7b1 ). La mejor opción es usar la bandera -XX: + UseParallelGC. Aumentar el tamaño del tamaño de pila mínimo y máximo, para retrasar el primer GC, trae alivio temporal.
Por cierto, use este informe de error en Eclipse para rastrear cómo les ha ido a otros.
fuente
La solución podría ser tan simple como hacer clic en ejecutar / omitir todos los puntos de interrupción. Trabajó para mi.
fuente
Asegúrese de que, en Ejecutar> Configuraciones de depuración, esté seleccionado 'Detener en principal', si corresponde a su situación.
fuente
Por lo general, cuando esto me sucede (raro, pero sucede) significa que el código que se está ejecutando es diferente al código en el editor. Ocasionalmente sucederá para Eclipse que las clases construidas y el código en el editor no estén sincronizados. Cuando eso sucede, obtengo todo tipo de comportamiento de depurador extraño (depurar líneas vacías, omitir líneas de códigos, etc.).
Reiniciar Eclipse, limpiar todos los proyectos y reconstruir todo normalmente aclara las cosas. También tenía los complementos de Maven (versiones anteriores ... no los había tenido por un tiempo) que tenían una tendencia a hacer eso también.
De lo contrario, podría ser un error, tal vez el que dijo Vineet,
Espero que esto ayude
fuente
Es posible que haya omitido accidentalmente todos los puntos de interrupción en la barra de herramientas de Eclipse. Para solucionar esto, vaya a Eclipse -> Ejecutar -> Omitir todos los puntos de interrupción.
fuente
Proyecto -> Clean parecía funcionar para mí en JRE 8
fuente
Para que el depurador funcione con control remoto, los archivos java .class deben cumplirse junto con la información de depuración. Si se pasó la opción " -g: none " al compilador, el archivo de clase no tendrá la información necesaria y, por lo tanto, el depurador no podrá hacer coincidir los puntos de interrupción en el código fuente con esa clase en remoto. Mientras tanto, si los archivos jar / class fueron ofuscados , tampoco tendrán información de depuración. Según sus respuestas, lo más probable es que este no sea su caso, pero esta información podría ser útil para otras personas que enfrentan el mismo problema.
fuente
En mi caso, el problema era que no tenía la vista de depuración abierta en la perspectiva de depuración, así que:
1 - Asegúrese de tener abierta la perspectiva de depuración:
2 - Asegúrese de tener abierta la vista de depuración:
fuente
Elimine todos los puntos de interrupción y vuelva a agregarlos.
fuente
Para JDK7, ejecute-> Configuraciones de depuración, marque "Mantener JUnit en ejecución después de una ejecución de prueba durante la depuración".
fuente
Me pasó una vez, cuando había desmarcado "Ejecutar> Construir automáticamente" y olvidé volver a marcarlo.
fuente
Asegúrese de declarar el paquete en la parte superior. En mi código maravilloso, esto se detiene en los puntos de interrupción:
Esto no se detiene en los puntos de interrupción:
fuente
Para eliminar los puntos de interrupción :
fuente
También verifique si los puntos de interrupción en otras líneas funcionan, puede ser un error en el depurador. Tuve un problema con el depurador de Eclipse en el que poner un punto de interrupción en una asignación booleana cuyo código estaba en la siguiente línea no funcionó . Informé esto aquí , pero lo hizo en la línea anterior o siguiente.
fuente
Si nada funciona
fuente
Otro posible problema es que el puerto del depurador puede estar bloqueado por el firewall. Por ejemplo, estaba usando mule anypoint studio (v 5.4.3). El puerto del depurador predeterminado es 6666. Cuando se ejecuta un flujo, no se detiene en el punto de interrupción. cuando cambié el puerto a otro (por ejemplo, 8099), funcionó bien.
fuente
Vaya a
Right click->Debug Configuration
y compruebe si se crean demasiadas instancias de depuración. Mi problema se resolvió cuando eliminé varias instancias de depuración de la configuración y recién comencé a depurar.fuente
Si estás en Eclipse,
Haga clic derecho en la carpeta de su proyecto en "Explorador de paquetes".
Ir a Fuente -> Limpiar y elegir su proyecto.
Esto limpiará cualquier desorden y su punto de ruptura debería funcionar ahora.
fuente
Crear un nuevo espacio de trabajo funcionó para mí.
fuente
En mi caso, tuve varios proyectos en el mismo espacio de trabajo. El archivo java que estaba intentando depurar estaba presente en más de un proyecto con el mismo paquete.
No necesitaba el otro proyecto, así que simplemente cerré los proyectos no relacionados (o elimine el archivo del proyecto no relacionado).
fuente
Un comentario adicional con respecto a la respuesta de Vineet Reynolds.
Me enteré de que tenía que fijar
-XX:+UseParallelGC
eneclipse.ini
Configuro los argumentos de la máquina virtual (vm) de la siguiente manera
que resolvió el problema.
fuente
Esto es lo que me funciona:
Tuve que poner la dirección de mi servidor local en la configuración del servidor PHP de esta manera:
Nota : esa dirección es la que configuro en mi archivo .conf de Apache .
Nota : el único punto de interrupción que funcionaba era el 'Descanso en la primera línea', después de eso, los puntos de interrupción no funcionaron.
Nota : verifique las propiedades de xdebug en su archivo php.ini y elimine las que crea que no son necesarias.
fuente