web-dev-qa-db-fra.com

Accélérer Tomcat en mode débogage avec Eclipse IDE

L'exécution de Tomcat via Eclipse fonctionne correctement en mode non débogage, mais pas en mode débogage. Lorsque j'essaie de démarrer le serveur Tomcat en mode débogage, la sortie de la console semble correcte pendant un certain temps, mais commence alors à ralentir et finit par s'arrêter, arrimant le processeur à 100%. Je ne pense pas que ce soit pertinent, mais juste au cas où - voici la sortie de la console à peu près quand elle commence à ralentir et finalement à s'arrêter (en arrêtant, je veux dire plus de sortie de console, mais toujours 100% de processeur).

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.springframework.beans.factory.support.DefaultListableBeanFactory@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 ...

J'ai essayé tout ce que je pouvais penser pour y remédier:

  • nettoyer le répertoire de travail Tomcat
  • redémarré Eclipse
  • redémarré Windows
  • actualisé/nettoyé tous les projets

J'ai rencontré ce problème pour la première fois la semaine dernière avec Eclipse ganymède. J'avais bien fonctionné en mode débogage pendant plusieurs mois avant ce problème. Je n'ai apporté aucun changement significatif à notre projet qui pourrait en être la cause. Finalement, je suis passé à Eclipse galileo, ce qui a résolu mon problème. Maintenant, 2 jours plus tard, j'ai le même problème dans Galileo. Comme je l'ai dit, cela fonctionne bien en mode non-débogage. Toute aide est très appréciée.

Je dois ajouter que d'autres choses fonctionnent en mode débogage - par exemple les tests junit, c'est donc quelque chose de spécifique à Tomcat.

44
andersonbd1

J'ai surmonté le problème! Une fois que j'ai compris, je me souviens que cela s'était déjà produit auparavant. J'ai effacé tous mes points d'arrêt et cela fonctionne très bien. Je ne sais pas pourquoi cela entraînerait le résultat, mais cela fonctionne.

139
andersonbd1

Je viens de rencontrer ce problème moi-même et cette solution m'a aidé. Cependant - je n'avais qu'un seul point d'arrêt, plutôt que les 20+ des autres affiches. Mon seul point d'arrêt, cependant, était un point d'arrêt de méthode et non un point d'arrêt de ligne - je me demande si la multitude d'appels de méthode au démarrage de Tomcat combinée avec le point d'arrêt de méthode pourrait être à l'origine de ce problème ... J'ai juste essayé une petite expérience:

  1. Définition d'un point d'arrêt de ligne et démarrage du mode de débogage - démarrage de 5 secondes (normal)
  2. Définition d'un point d'arrêt de méthode et démarrage du mode de débogage - ..... ne veut pas attendre (> 90 secondes).

Je suppose que c'est le problème.

20
Chris Goddard

J'ai eu ce même problème à Galileo. Exécution rapide mais débogage d'exploration. Grâce aux messages ci-dessus, j'ai effacé tous les points d'arrêt et redémarré Tomcat. Cela a corrigé comme par magie le problème. fyi - J'ai eu 2 points d'arrêt de méthode et d'autres points d'arrêt de ligne plus tôt. J'ai fait les tests pour confirmer la théorie ci-dessus sur le ralentissement des points d'arrêt des méthodes. Voici ce que j'ai trouvé. On dirait que ce n'est pas le point d'arrêt de la méthode qui est le problème, le problème était le point d'arrêt de la méthode qui apparaissait toujours dans la liste des points d'arrêt dans la vue de débogage, mais n'existait pas dans le code. Je veux dire que j'ai changé les paramètres de cette méthode, mais l'ancien point d'arrêt avec des paramètres plus anciens existait toujours dans la liste des points d'arrêt. C'était le coupable, lorsque j'ai supprimé cela, les autres points d'arrêt de méthode n'ont pas ralenti le serveur. Il semble donc qu'Eclipse essayait de rechercher quelque chose d'inexistant qui semble l'avoir ralenti. J'espère que cela t'aides.

3
vsc

Moi aussi, je suis tombé sur cette question.

J'ai fermé tous les projets non pertinents. A effacé mes points d'arrêt. Augmentation de STS VM. Suivez ce blog: http://searchforsolutions.wordpress.com/2011/12/01/Eclipse-jvm-settings-for-optimized-performance/ Désactivé les validateurs de l'outil JBoss et tous les autres validateurs.

Maintenant, STS fonctionne comme un charme!

3
Rohitdev

Modifiez le niveau de journalisation par défaut de:

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

À :

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