Comment faire pour démarrer Tomcat 6 en mode de débogage lors de l'exécuter en tant que service sur RHEL
Ce devrait être facile, mais je ne peux pas obtenir de débogage pour travailler sur Tomcat 6 lorsqu'il est exécuté en tant que service sur RHEL 6.1.
J'ai ajouté la ligne suivante à /etc/tomcat6/tomcat6.conf
JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Lorsque je redémarre le serveur tomcat 6 service avec
service tomcat6 restart
de la ligne de commande indique que le serveur Tomcat à l'arrêt et de départ, mais il n'est pas en cours d'exécution et quand je regarde dans le catalina.log je vois
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Error occurred during initialization of VM
agent library failed to init: jdwp
De tenter de redémarrer le Tomcat6 service échoue pour deux d'arrêt et de démarrage. Je dois rebooter RHEL.
J'ai pensé que peut-être Tomcat6 est en cours d'exécution en mode debug par défaut, mais quand je commente la ligne tomcat6.conf et redémarrer à l'aide de la commande netstat -an de ne pas montrer quoi que ce soit en utilisant le port 8000 ou n'importe quel port utilisé par Tomcat.
Peut Tomcat 6 être exécuté en mode débogage lorsqu'il est exécuté en tant que service?
Il a l'impression de rien lorsque le redémarrage a échoué (Duh). Un deuxième reboot semble avoir des choses à travailler.
OriginalL'auteur Dean Schulze | 2012-12-07
Vous devez vous connecter pour publier un commentaire.
Il suffit de Cocher la numéro de PORT 8000 disponibles dans la Catalina.sh fichier . Et la Case est-il un processus de s'exécuter dans le même numéro de PORT 8000.
Si un processus s'exécutant dans le même port, puis arrêter le processus et exécuter le jpda.
Vérifier la env variable à la même adresse. catalina.sh fichier de script shell clairement dire qu'il utilise le port 8000 pour l'exécuter.
Si vous voulez modifier l'adresse du port et de la mettre dans votre .bashrc fichier
comme
exportation JPDA_ADDRESS=8009
et exécuter la commande
$ ./catalina.sh jpda exécuter (c'est pour la méthode ordinaire)
Si vous avez exécuté avec le gestionnaire de Sécurité puis
$ ./catalina.sh jpda d'exécution de la sécurité
et Aller à Eclipse
Aller -> Configuration de Débogage
La configuration d'Eclipse pour le débogage à distance
Tout d'abord, nous devons l'ouvrir ou importer le projet avec le code source de l'application, nous voulons de débogage. Par la suite nous allons paramétrer le debug d'Eclipse:
1) en Cliquant sur le côté droit (flèche face à ci-dessus) du bouton “Debug” (le bouton avec le bug) qui est dans la barre d'outils et en cliquant sur “Debug configurations...” ou dans le menu Exécuter > Debug configurations... Alors une nouvelle fenêtre avec les différentes configuration de débogage sera ouvert.
Configuration de débogage
2) Sélectionnez “Remote Application Java” dans le menu de gauche, puis appuyez sur “Nouvelle configuration de lancement” bouton (le bouton avec l'icône de dossier dans le coin en haut à gauche).
Nouvelle configuration de débogage
3) Remplissez la configuration avec les données correspondant à notre instance de Tomcat:
Eclipse rien ne s'affiche . Pas de modifications sont affichées dans eclipse.
Juste définir des points d'arrêt dans eclipse où vous avez besoin, et d'aller exécuter l'application dans tomcat .
!!!!!! Déboguer correctement le mode de travail !!!!!!!!!
Congratzzzzz!!!!!
Par sampath
OriginalL'auteur sambatha
Un plus redémarrage semble avoir résolu. RHEL est maintenant à l'écoute sur le port 8000 et je peux attaché un débogueur distant.
Bizarre.
OriginalL'auteur Dean Schulze
J'ai eu la même erreur, et la raison en était https://bugzilla.redhat.com/show_bug.cgi?id=899458. Solution de contournement consiste à supprimer les lignes suivantes dans
/usr/sbin/tomcat6
:Votre problème est probablement différent (sinon il n'y a aucune raison pour qu'un redémarrage de travail), mais je vais laisser cela de sorte que les personnes à la recherche pour le message d'erreur peut le trouver.
OriginalL'auteur Alexey Romanov