2009-09-02 17 views
37

Ejecutar Tomcat a través de eclipse funciona bien en modo no depuración, pero no en modo de depuración. Cuando trato de iniciar el servidor de Tomcat en modo de depuración, la salida de la consola se ve bien por un tiempo, pero luego comienza a ralentizarse y finalmente se detiene, vinculando la CPU al 100%. No creo que sea relevante, pero por las dudas: aquí está la salida de la consola acerca de cuándo comienza a ralentizarse y eventualmente a detenerse (al detenerme quiero decir que no hay más salida de consola, pero aún así 100% de CPU).Acelerando Tomcat en modo de depuración con Eclipse IDE

2009-09-02 14:35:30,859 INFO NONE org.springframework.context.weaving.DefaultContextLoadTimeWeaver:72 - Found Spring's JVM agent for instrumentation 
2009-09-02 14:35:49,562 INFO NONE org.springframework.beans.factory.support.DefaultListableBeanFactory:414 - Pre-instantiating singletons in org.s[email protected]ed889d: defining beans [... 
2009-09-02 14:37:31,031 INFO NONE org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean:221 - Building JPA container EntityManagerFactory for persistence unit ... 

He intentado todo lo que podía pensar para solucionarlo:

    directorio de trabajo
  • Tomcat cleanesd
  • reinicia eclipsar
  • reiniciado Windows
  • renovados/limpiadas todos los proyectos

Primero tuve este problema m la semana pasada usando eclipse ganymede. Estuve funcionando bien en modo de depuración durante varios meses antes de este problema. No hice ningún cambio significativo en nuestro proyecto que pudiera causar esto. Eventualmente, me actualicé a eclipse galileo el cual resolvió mi problema. Ahora, 2 días después, estoy teniendo el mismo problema en galileo. Como dije, funciona bien en modo no depuración. Cualquier ayuda es muy apreciada.

Debo añadir que otras cosas funcionan en modo de depuración, por ejemplo, pruebas junit, por lo que es algo específico de tomcat.

+0

¿Has intentado limpiar tu espacio de trabajo? A veces me pasa a mí, entonces solo limpio mi espacio de trabajo. Una vez que se limpia el espacio de trabajo funciona bien –

+0

FYI - esto se aplica a Intellij IDEA. Acabo de probar esto con IntelliJ 10 y pasé de 7 minutos de tiempo de inicio para Tomcat 5.5.31 a 20 segundos para mi aplicación .... –

Respuesta

126

¡He superado el problema! Una vez que lo descubrí, recuerdo que esto ha sucedido antes. Borré todos mis puntos de interrupción y funciona bien. No tengo idea de por qué eso causaría el resultado que es, pero funciona.

+6

funcionó para mí también cuando tenía este problema hoy – Ayrad

+6

Gracias por este consejo, puede ' ¡Te voto más! =)) –

+0

Me pasó a mí también y la limpieza de puntos de interrupción ayudó ... Aunque es extraño :) :) – kane77

15

Me acabo de topar con este problema, y ​​esta solución me ayudó. Sin embargo, solo tuve 1 punto de interrupción, en lugar de los más de 20 de otros carteles. Mi único punto de interrupción, sin embargo, fue un punto de corte de método y no un punto de corte de línea. Me pregunto si la multitud de llamadas al método combinadas con el punto de interrupción del método podrían estar causando este problema ... Acabo de intentar un pequeño experimento:

  1. Establecer un punto de interrupción de línea y de iniciar el modo de depuración - 5 segundos arranque (normal)
  2. Establecer un punto de interrupción de método y de iniciar el modo de depuración - ..... no está dispuesto a esperar (> 90 segundos).

Supongo que este es el problema.

+4

Sí, los puntos de corte y los puntos de observación del método (puntos de interrupción en los campos) son mucho, mucho más lentos que los puntos de interrupción de línea. Favorece los puntos de corte de línea siempre que sea posible, a menos que no esté seguro de que la fuente que tiene coincida con la clase que está depurando. Por ejemplo, ponga un punto de interrupción en la primera instrucción dentro de un método en lugar de en la firma del método. Consulte http://stackoverflow.com/a/787753/277307 para obtener información sobre por qué los puntos de interrupción del método son más lentos. –

+0

Gracias @ nodescript1 Sé por qué razón mi eclipse se ralentiza y lo soluciona. – janwen

1

nivel de registro predeterminado de Cambio:

<root> 
    <level value="DEBUG" /> 
    <appender-ref ref="ConsoleAppender" /> 
</root> 

Para:

<root> 
    <level value="OFF" /> 
    <appender-ref ref="ConsoleAppender" /> 
</root> 
3

tuve este mismo problema en Galileo. Ejecución rápida pero depuración de rastreo. Gracias a las publicaciones anteriores, borré todos los puntos de interrupción y reinicié Tomcat. Eso mágicamente solucionó el problema. fyi - Tenía 2 puntos de corte de método y otros puntos de corte de línea más temprano. Hice las pruebas para confirmar la teoría anterior sobre los puntos de corte del método que se ralentizan. Esto es lo que encontré.Parece que no es el punto de corte del método el problema, el problema fue el punto de corte del método que aún aparecía en la lista de puntos de corte en la vista de depuración, pero que no existía en el código. Quiero decir que cambié los parámetros de ese método, pero el antiguo punto de interrupción con parámetros más antiguos todavía existía en la lista de puntos de corte. Ese fue el culpable, cuando lo eliminé, los otros puntos de interrupción del método no ralentizaron el servidor. Parece que eclipse estaba tratando de buscar algo inexistente que parece haberlo ralentizado. Espero que esto ayude.

Cuestiones relacionadas