Je n'arrive pas à déboguer l'application tomcat via Eclipse. J'ai mis
CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
puis je lance bin/catalina.sh
, où je vois la sortie en disant qu'il est à l' écoute pour dt_socket
le port 8000
. Mais chaque fois que j'essaie de me connecter au port 8000
dans Eclipse (en ajoutant une entrée dans le menu de l'application java distante), il se plaint d'une connexion refusée. Des idées?
Réponses:
Pouvez-vous vérifier si cela fonctionne?
la source
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
catalina.bat jpda start
suspend
spécifie si le jvm doit attendre le débogueur ou continuer. Voir ce doc .catalina.sh jpda start
devrait suffire. Le catalina.sh a quelquesJPDA_*
paramètres qui peuvent être utilisés par exemple pour changer de port, voir le fichier pour la documentation.J'ai passé du temps là-dessus pour obtenir les bonnes informations.
Voici donc les informations détaillées étape par étape.
Environnement: Windows 7
Version TomCat: 7.0
IDE: Eclipse
Les configurations à ajouter pour activer le débogage à distance avec in tomcat sont
Je ne recommande pas la configuration ci-dessus pour un environnement non Windows. Pour ajouter la configuration ci-dessus, double-cliquez sur le serveur tomcat qui sera disponible en vue serveur. Trouvez la capture d'écran ci-dessous.
Ajoutez maintenant la configuration d'environnement d'exécution ci-dessus à tomcat. Pour cette capture d'écran ci-dessous.
Maintenant, allez à l'onglet Arugments dans Modifier les propriétés de configuration de lancement, comme indiqué dans la capture d'écran ci-dessous.
La section des arguments GoTo VM ajoute ces lignes.
Maintenant, le bouton de débogage est disponible sur la barre d'outils Eclipse.
Dans les configurations de débogage, recherchez «Application Java distante» et double-cliquez dessus.
Dans le champ Nom, saisissez le nom que vous souhaitez.
Dans le champ de projet à l'aide du bouton Parcourir, sélectionnez le projet pour lequel vous souhaitez effectuer un débogage à distance.
Le nom d'hôte n'est rien d'autre que l'adresse de l'hôte. Ici, je travaille localement donc c'est "localhost".
Enfin, la colonne Port, la valeur doit être 8000. En dehors des champs de texte Nom et Projet, les deux autres colonnes Host et port seront remplies par éclipse lui-même sinon vous donner les mêmes valeurs que celles mentionnées. Vérifiez la capture d'écran pour plus d'informations.
Maintenant, faites un clic droit sur TomcatServer dans la console du serveur, sélectionnez Ajouter et supprimer dans le menu contextuel. À partir de cette boîte de dialogue, vous pouvez ajouter le projet au serveur.
Exécutez maintenant le serveur Tomcat.
Exécutez maintenant TomCatDebugConfiguration à partir de l'outil de débogage.
Dernier navigateur interne ou externe ouvert et exécutez votre projet. Si le contrôle d'exécution a atteint les points d'arrêt, l'éclipse demandera une perspective de débogage.
la source
Dans le répertoire bin de tomcat où se trouve
catalina.bat
ou.sh
(aka {CATALINA_BASE} / bin), éditez (créez sinon):Ajoutez la ligne suivante:
C'est tout ce que vous devez faire, vous n'avez pas besoin de modifier le
catalina.bat
(ou.sh
) fichier.Voir les commentaires dans
catalina.bat
oucatalina.sh
.Vous devrez peut-être ajuster la syntaxe pour votre environnement / situation particulière. Par exemple, si vous avez déjà défini CATALINA_OPTS, vous pouvez faire quelque chose comme ceci (dans un environnement Windows):
Pour déboguer depuis Eclipse:
run-> Configurations de débogage ...-> Application Java distante-> Nouveau
et spécifiez un nom, le projet que vous déboguez et l'hôte tomcat et le port de débogage spécifiés ci-dessus.
la source
setenv.bat
lebin
répertoire, mettez une ligne commeset JPDA_OPTS= -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n
, utilisezstartup.bat
pour démarrer tomcatDans le
catalina.bat
fichier, veuillez modifier ce qui suit.Étape 1:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Étape 2:
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
Étape 3: Exécutez Tomcat à partir de l'invite de commande comme ci-dessous:
catalina.sh jpda start
Étape 4: Ensuite, dans l'éclipse, créez une configuration de débogage
project name
.Standard(Socket Attach)
localhost
8000
(ou n'importe quel numéro de port, mais cela devrait être le même dans d'autres endroits également).la source
La plupart des réponses ci-dessus sont correctes, mais rappelez-vous que par défaut, le débogueur écoutera uniquement sur l'hôte local. Si vous déboguez un serveur distant, vous devrez spécifier l'adresse IP sur laquelle écouter, par exemple
Notez que l'adresse est maintenant 10.1.1.33 : 8000
Bien sûr, vous pouvez également vérifier quelle IP est réellement utilisée, en exécutant
sur Windows et Linux et filtrez le port avec
find
(Windows) ougrep
(Linux).la source
Exécutez simplement
./catalina.sh jpda start
(fourches) ou./catalina.sh jpda run
(ne fourche pas, non mentionné dans l'aide). Toutes les options mentionnées ici ont par défaut des valeurs saines.la source
Permettez-moi de partager la manière simple d'activer le mode de débogage à distance dans tomcat7 avec eclipse (Windows).
Étape 1: ouvrez le fichier bin / startup.bat
Étape 2: ajoutez les lignes ci-dessous pour le débogage avec l'option JDPA (cela devrait commencer la ligne du fichier)
Étape 3: dans le même fichier .. aller à la fin du fichier modifier cette ligne -
étape 4: puis exécutez simplement bin> startup.bat (donc maintenant votre serveur tomcat fonctionnait en mode distant avec le port 8000).
étape 5: après cela permet de connecter votre projet source par eclipse IDE avec un client distant.
Étape 6: Dans l'IDE Eclipse, allez dans "Configuration de débogage"
étape 7: cliquez sur "application java distante" et sur ce, cliquez sur "Nouveau"
step8. dans l'onglet "connexion" définir la valeur du paramètre
étape 9: cliquez sur appliquer et déboguer.
donc finalement votre client distant eclipse est connecté au serveur tomcat en cours d'exécution (mode débogage).
J'espère que cette approche pourrait vous aider.
Cordialement..
la source
Modifiez catalina.bat pour ajouter
et
Facultatif: ajoutez la ligne ci-dessous pour exécuter le mode de débogage par défaut lorsque vous exécutez startup.bat
Eclipse ou STS sélectionnez la configuration de débogage clic droit -> nouveau
la source
Si tout ce qui précède ne fonctionne toujours pas, vous pouvez toujours ajouter au script
la source
Dans tomcat 7, catalina.sh a ce code:
Ii implique que vous pouvez configurer JPDA avec:
Ou avec:
Et enfin utiliser:
catalina.sh jpda start
Cordialement
la source
Je rencontrais ce problème lors de l'exécution de Tomcat à l'intérieur d'un conteneur Docker. Pour résoudre ce problème, assurez-vous d'ajouter l'argument «-p 8000: 8000» dans votre commande d'exécution du docker pour exposer ce port à votre machine locale. Vous aurez bien sûr besoin du fichier setenv.sh dans votre $ {CATALINA_HOME} / bin / dans votre conteneur également.
la source
Modifier le fichier startup.bat avec CATALINA_OPTS ET JPDA_OPTS n'a pas fonctionné pour moi, mais les ajouter à catalina.bat a fonctionné
CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, adresse = 8000, serveur = y, suspendre = n"
JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, adresse = 8000, serveur = y, suspendre = n"
changer l'appel "% EXECUTABLE%" start% CMD_LINE_ARGS% en
appeler "% EXECUTABLE%" jpda start% CMD_LINE_ARGS%
Configurez ensuite l'application Java distante dans vos configurations de débogage dans Eclipse.
la source
Tout d'abord, si vous ouvrez catalina.bat avec l'éditeur de texte, vous voyez que: "Ne définissez pas les variables dans ce script ....." Donc, ne le changez jamais dans ce script, à la place vous pouvez suivre les étapes ci-dessous:
Ensuite, définissez 2 variables dans ce fichier bat telles que:
set CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, adresse = 8000, serveur = y, suspend = n"
set JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, adresse = 8000, serveur = y, suspend = n"
Enfin exécutez cela à cmd que: "catalina.bat jpda start"
Dans l'IDE, créez une configuration de débogage à distance et définissez l'hôte sur l'IP et le port du serveur associé sur 8000.
la source
Pour la version apache-tomcat-8.5.28, faites ceci,
Comme les paramètres par défaut déjà configurés pour nous dans catalina.bat comme
Donc pas besoin d'autre config. Et lorsque vous exécutez la commande catalina.bat jpda start, vous pouvez voir que le port de débogage 8000 est ouvert.
la source
Consultez cette réponse pour les problèmes que j'ai rencontrés avec Java 8 et Tomcat 9: le débogage à distance Java (JPDA) ne fonctionne pas pour moi dans Tomcat 9
Ceci est similaire à l'avertissement de @ DAB, et sa solution est probablement plus sûre.
la source
Pour apache-tomcat-8.5.28
modifier
JDPA_OPTS
comme ci-dessous puis exécuter commecatalina.bat jpda start
la source