Vamos fazer um passo-a-passo da configuração do ambiente para que seja possível efetuar um “debug” de código na IDE Eclipse, apontando para o servidor de Tomcat remoto.
O exemplo é baseado no Tomcat 7.x, Eclipse (2020-06) e no Windows 10. Não testei no Linux, mas acredito que os passos sejam similares, pois o foco das configurações são no Tomcat e Eclipse.
No Eclipse vá até o menu “Debug configurations“:
Em “Debug Configurations”, localize a opção “Remote Java Application”
Sobre os campos:
Name: Nome do Debug
Project: pode deixar vazio
Connection Type: pode manter o padrão selecionado – Standard (Socket Attach)
Connection Properties: Informe o host (exemplo: localhost, 10.10.10.236, etc…) e a porta pode manter a default 8000 (está porta não tem relação com a porta que o servidor está rodando para servir a aplicação, se estiver rodando na 8080, continua na fé e mantem a porta 8000 – é a porta padrão do JPDA, combinado?)
Deixe desmarcado Allow termination of remote VM se não quiser matar sua aplicação remota – no servidor de teste não terá impacto, mas se chegar no ponto de fazer um debug remoto no servidor de produção, vc pode acabar derrubando algo que não deve e a emoção será grande com os usuários.
Fechamos os passos de configuração na IDE, vamos para o servidor de Tomcat.
TOMCAT
Na pasta do seu Tomcat entre em /bin e clique duplo em tomcatW.exe – pode ser outro nome dependendo do nome que foi instalado, mas o final “W.exe” – blablablaW.exe
Vá até aba “Java” e no campo textarea de “Java Options”, adicione no finalzinho os parâmetros:
-Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
Após isto, clique em aplicar e reinicie o Tomcat.
DEBUG
Marque seus breakpoints e abra a aplicação no endereço do configurado, no meu caso http://10.10.10.236:8080 navegue até atingir sua condição de debug.
Para debugar o processo normal de debug do dia-a-dia que vc já deve estar acostumado.
Inicie o Debug pela opção “Remote Java Application – botão Debug”, ou uma vez configurado já configurado irá aparecer a baixo do debug convencional do menu principal do Eclipse.
Obs. Se houve algum erro de conexão recusada, certifique-se que no servidor a porta 8000 esteja liberada pelo firewall e afins.
Dúvidas cruéis, mande nos comentários
T+