2009-07-06 13 views
29

passato scenario
- Lavora con Tomcat e iniziare a modalità debug e debug remoto con Eclipse.
- Definire una porta e connettersi con eclissi in questa porta di debug/remoto.
- Utilizzare per i server di debug in altri host/serverdebug remoto Jetty (senza mvn, nessun plug-in)

scenario Oggi
Ora, sto usando Jetty e ho provate a fare lo stesso, ma senza successo, si poteva aiutami con quello?
Non ho usato Maven e non volevo avviare Jetty dal mio Eclipse.

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

vicini:
http: // docs.codehaus.org/display/JETTY/Debug
Questo non mi ha aiutato!
http: // docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
http: // neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
Questi devono iniziare all'interno di Eclipse

risposta

34

Questo è quello che stiamo aggiungendo alla nostra linea di comando JBoss mentre lo sviluppo:

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

Poi lanciamo il debug remoto Eclipse e il collegamento a questa porta.


Aggiornamento:

Per eseguire dal vaso (standalone) effettuare le seguenti operazioni

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

Solo un piccolo pignolo: quella sintassi è per le JVM precedenti alla 1.5, quelle più nuove usano l'opzione -agentlib: jdwp. – andri

+2

Ehi David, grazie per la tua risposta, lavora per me. Sto usando il comando fallow per avviare il mio Jetty: java -Xdebug -Xrunjdwp: transport = dt_socket, indirizzo = 8585, server = y, suspend = n -jar start.jar Grazie! –

+0

Lo so, ma funziona ... –

18

Per il debug remoto è necessario utilizzare JPDA. C'è una sorta di articolo tutorialish su di esso disponibile here.

In breve, avviare il JVM con l'argomento:

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

e siete in grado di connettersi alla JVM sottostante in ascolto sulla porta 8000 tramite il debugger standard di Eclipse.

+3

Se si esegue il debug operazioni di avvio del server ricordarsi di set suspend = y –

15

Se si intende utilizzare mvn jetty: gestiscono un giorno, si deve

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

aggiungendo -Xdebug ... non funziona

0

Utilizzando la JVM "agentlib" parametro di riga di comando prima di "start.jar" non ha funzionato per me, ma questo:

Come consentire Eclipse per eseguire il debug remoto #Jetty (#JPDA #agentlib: JDWP) sulla porta 8000

È necessario creare un file, $ JETTY_BASE/start.ini (non cambiare $ JETTY_HOME/start.ini) e mettere le seguenti due righe in esso:

  • --exec
  • - agentlib: JDWP = trasporti = dt_socket, indirizzo = localhost: 8000, server = y, sospendere = n