depuração remota Jetty (sem mvn, há plugins)
-
23-08-2019 - |
Pergunta
cenário Passado
- Trabalhar com Tomcat e começar em modo de depuração e remoto Debug com Eclipse
.
- Defina uma porta e se conectar com eclipse neste debug port / remoto
.
- Use a servidores de depuração em outros hosts / servidores
cenário hoje
Agora, eu estou usando Jetty e eu tento fazer o mesmo, mas sem sucesso, poderia alguém ajuda-me com isso?
Eu não uso Maven, e não queria começar Jetty dentro do meu Eclipse.
Ambiente:
Windows XP
Java V. 5
Jetty V. 6.1.15
Links:
http: // docs.codehaus.org/display/JETTY/Debugging
Isso não me ajudar!
http: // docs.codehaus.org/display/JETTY/Debugging+Jetty+with+Eclipse
http: // neelzone.wordpress.com/2007/06/18/jetty-and-eclipse-integration
Estes são para começar dentro Eclipse
Solução
Isto é o que estamos adicionando à nossa linha de comando JBoss enquanto o desenvolvimento:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
Em seguida, lançar o eclipse remoto depuração e ligação a esta porta.
Update:
Para executar a partir jar (standalone) faça o seguinte
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8585,server=y,suspend=n -jar start.jar
Outras dicas
Para a depuração remota, você deve usar ACDP . Há um tipo de artigo tutorialish sobre isso disponível aqui .
Em suma, iniciar o seu JVM com o argumento:
-agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
e você é capaz de conectar-se à escuta JVM subjacente na porta 8000 através do depurador padrão Eclipse.
Se você usará mvn jetty: run , um dia, você tem que
export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
acrescentando -Xdebug ...
não funciona
Usando o parâmetro de linha de comando "agentlib" JVM antes "start.jar" não funcionou para mim, mas isso faz:
Como permitir que o Eclipse para depurar remotamente #Jetty (#agentlib #JPDA: JDWP) na porta 8000
Você tem que criar um arquivo, $ JETTY_BASE / start.ini (não altere $ JETTY_HOME / start.ini ) e put as duas seguintes linhas nele:
- - exec
- - agentlib: JDWP = transporte = dt_socket, address = localhost: 8000, server = y, suspender = n