2009-07-06 13 views
29

scénario passé
- Travailler avec Tomcat et démarrer en mode débogage et débogage à distance avec Eclipse.
- Définissez un port et connectez-vous à eclipse dans ce port de débogage/distant.
- Utiliser des serveurs de débogage dans d'autres hôtes/serveursdébogage à distance Jetty (pas mvn, pas de plug-ins)

scénario Aujourd'hui
Maintenant, j'utilise Jetty et je l'ai essayer de faire la même chose, mais sans succès, quelqu'un pourrait-il aide-moi avec ça?
Je n'ai pas utilisé Maven et je ne voulais pas lancer Jetty à l'intérieur de mon Eclipse.

Environnement:
Windows XP
Java V. 5
Jetty V. 6.1.15

Liens:
http: // docs.codehaus.org/display/JETTY/Déboguer
Cela ne m'a pas aidé!
http: // docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
http: // neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
Elles doivent commencer à l'intérieur Eclipse

Répondre

34

C'est ce que nous ajoutons à notre ligne de commande JBoss en développement:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n 

Ensuite, nous lancerons le débogage à distance Eclipse et la connexion à ce port.


Mise à jour:

Pour exécuter du pot (autonome), procédez comme suit

java -Xdebug -Xrunjdwp:transport=dt_socket,address=8585,server=y,suspend=n -jar start.jar 
+2

Juste un nitpick mineur: cette syntaxe est pour les JVM pré-1.5, les plus récents utilisent l'option -agentlib: jdwp. – andri

+2

Hey David, merci pour votre réponse, travaille pour moi. J'utilise la commande jachère pour démarrer ma jetée: java -Xdebug -Xrunjdwp: transport = socket_dt, adresse = 8585, serveur = y, suspend = n -jar start.jar Merci! –

+0

Je sais, mais ça fonctionne ... –

18

Pour le débogage à distance, utilisez JPDA. Il y a une sorte d'article tutoriel à ce sujet disponible here.

En bref, démarrez votre machine virtuelle Java avec l'argument:

-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n

et vous êtes en mesure de se connecter à la machine virtuelle Java sous-jacente à l'écoute sur le port 8000 via le débogueur Eclipse standard.

+3

Si vous effectuez le débogage des opérations de démarrage du serveur n'oubliez pas de set suspend = y –

15

Si vous utilisez jetée mvn: course un jour, vous devez

export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n" 

annexant -Xdebug ... ne fonctionne pas

0

Utilisation de la machine virtuelle Java « agentlib » paramètre de ligne de commande avant « start.jar » ne fonctionnait pas pour moi, mais cela ne:

Comment permettre Eclipse déboguer à distance #Jetty (#JPDA #agentlib: jdwp) sur le port 8000

Vous devez créer un fichier, $ JETTY_BASE/start.ini (ne change pas $ JETTY_HOME/start.ini) et de mettre les deux suivants lignes à l'intérieur:

  • --exec
  • - agentlib: jdwp = transport = dt_socket, adresse = localhost: 8000, serveur = y, suspendent = n