Depuração Remota

Supondo que você tenha seu aplicativo da web implantado no jetty, há duas maneiras diferentes de abordar isso:

Via linha de comando

java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n -jar start.jar

Através da start.ini

#===========================================================
# Configure JVM arguments.
# If JVM args are include in an ini file then --exec is needed
# to start a new JVM from start.jar with the extra args.
# If you wish to avoid an extra JVM running, place JVM args
# on the normal command line and do not use --exec
#-----------------------------------------------------------
--exec
-Xdebug
-agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n
# -Xmx2000m
# -Xmn512m
# -XX:+UseConcMarkSweepGC
# -XX:ParallelCMSThreads=2
# -XX:+CMSClassUnloadingEnabled
# -XX:+UseCMSCompactAtFullCollection
# -XX:CMSInitiatingOccupancyFraction=80
# -verbose:gc
# -XX:+PrintGCDateStamps
# -XX:+PrintGCTimeStamps
# -XX:+PrintGCDetails
# -XX:+PrintTenuringDistribution
# -XX:+PrintCommandLineFlags
# -XX:+DisableExplicitGC

Depurando com Eclipse

Vinculando com o Eclipse

  • 1: No Eclipse, clique com o botão direito do mouse no projeto que contém o aplicativo da web implementado no jetty e selecione Depurar → Configurações de Depuração e crie uma nova configuração do Aplicativo Java Remoto . Verifique se a porta que você escolheu é a mesma que você adicionou em Habilitar depuração remota .

  • 2: Em seguida, no seu aplicativo da web, você pode definir um ponto de interrupção em um servlet que, quando disparado, interromperá o encadeamento de processamento da jvm remota para aguardar comandos de depuração da instância do Eclipse.

  • 4: O acesso a esse servlet no navegador, apontado para a distribuição de cais configurada por depuração remota, deve fazer a transição da instância do Eclipse para a visualização Debug padrão.