2009-02-05 23 views

risposta

97

Vuoi dire remote debug JBoss da Eclipse?

Da Configuring Eclipse for Remote Debugging:

Impostare la variabile JAVA_OPTS come segue:

set JAVA_OPTS= -Xdebug -Xnoagent 
    -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS% 

o:

JAVA_OPTS="-Xdebug -Xnoagent 
    -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n $JAVA_OPTS" 

Nel debug f rame, selezionare il nodo Applicazione remota Java.

Nelle proprietà di connessione, specificare localhost come host e specificare la porta come la porta specificata nello script di esecuzione batch del server JBoss, 8787.

JBoss Debug

+1

Non sono sicuro se l'aggiunta di un commento ad una risposta questa vecchia otterrà leggere, ma qui va comunque ! Ho usato questa configurazione per eseguire il debug di app sul mio server JBOSS tramite Eclipse e funziona bene - posso impostare i breakpoint in Eclipse e intercettare le richieste sul server. Tuttavia, quando ricostruisco un'app e la distribuisco a caldo su JBOSS, la nuova versione dell'app viene eseguita correttamente ma non riesco più a intercettare l'elaborazione tramite Eclipse. I punti di interruzione sono ignorati. È questo comportamento previsto? Devo riavviare JBOSS ogni volta che voglio eseguire il debug di un'app di nuova distribuzione? – CodeClimber

+1

@dairemac: almeno sarà letto da me;) Grazie per questo feedback. Non ho la possibilità di riprodurre direttamente questa impostazione specifica, ma sospetto che il processo di monitoraggio delle app venga interrotto durante la distribuzione a caldo, il che significherebbe riavviare la sessione JBossDebug. – VonC

+0

@VonC: ho apportato le modifiche nel file run.bat e sto provando a riavviare il server jboss ma ci vuole molto tempo rispetto alla modalità normale, qualche suggerimento su cosa potrebbe migliorare il tempo di avvio? – Rachel

12

Se si imposta un server JBoss utilizzando WebTools Eclipse, si può semplicemente avviare il server in modalità debug (pulsante di debug nei server vista). Ciò ti consentirà di impostare i breakpoint nell'applicazione che è in esecuzione all'interno di JBoss.

+0

Questo è vero, e nel dubbio (poiché non so se si tratta di debug remoto o locale): +1 – VonC

12

VonC ha menzionato nella sua risposta come eseguire il debug remoto da Eclipse.

Vorrei aggiungere che le impostazioni JAVA_OPTS sono già in run.conf.bat. Non vi resta che rimuovere il commento di loro:

in JBOSS_HOME\bin\run.conf.bat su Windows:

rem # Sample JPDA settings for remote socket debugging 
set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 

La versione Linux è simile e si trova a JBOSS_HOME/bin/run.conf

+0

Scomporre quella linea funziona perfettamente e mi sembra il posto migliore per aggiungere il debug JAVA_OPTS – chim

0

Qui, se si desidera eseguire il debug direttamente il server allora si può uso:

1.) di Windows ->

2.) Mostra Visualizza -> Server: fare clic con il pulsante destro del mouse sul server, quindi eseguire In modalità di debug.

0

è necessario definire un'applicazione Java remota nelle configurazioni di debug di Eclipse:

Aprire le configurazioni di debug (Progetto selezionato, quindi aperti dalle configurazioni menu Esegui/debug) Selezionare Applicazione Java remota nella struttura a sinistra e premere Pulsante "Nuovo" Nel pannello di destra seleziona il progetto della tua app Web e inserisci 8787 nel campo della porta. Ecco un collegamento a una descrizione dettagliata di questo processo.

Quando si avvia la configurazione di debug remoto Eclipse si collegherà al processo JBoss. In caso di successo, la vista di debug mostrerà i thread di JBoss. C'è anche un'icona di disconnessione nella barra degli strumenti/menu per fermare il debug remoto.

0

Ciò che @VonC dice è corretto, ma è possibile inserire i comandi per impostare il debug direttamente negli argomenti VM su jBoss Lancio.

Per fare questo, Open Server jBoss all'interno Eclipse, andare ad aprire la configurazione di lancio e mettere questo in VM argomenti textbox: vm args