Oi Jonathan! Tudo bem?
Excelente pergunta. A resposta é SIM. Só é possível fazer debug remoto com o Tomcat usando JPDA.
O que acontece é o seguinte em se trabalhando com investigações em ambientes de QA, UAT e PROD, Não se faz DEBUG diretamente no ambiente.
Isso porque, imagine assim, você colocou um breakpoint em uma classe, para saber o valor de uma variável, correto?
Só que o ambiente web possui concorrência e diversos usuários podem estar utilizando o server e passando por seu breakpoint.
Isso deixaria todo mundo concorrendo com seu breakpoint e isso geraria um:
1) O consumo de memória do seu servidor de aplicação vai explodir (aumento significativo)
2) Você não consegue garantir que quem parou no seu breakpoint foi sua chamada ou outro usuário utilizando o mesmo serviço.
3) Você prejudica o ambiente de produção, gerando uma terrível experiência para seu cliente. Também atrapalha o trabalho de quem está testando a aplicação em QA e UAT.
Caso tenha entendido, colco o que são práticas de mercado para resolver problemas nesses ambientes.
1) Colocar a versão de produção em seu ambiente local para reproduzir o erro de código fonte.
2) Colocar a versão de produção em um servidor isolado ( que mais ninguém acessa), com um banco de dados replicado para testar possíveis problemas relacionados com dados.
3) Não sendo possível, solicitar a equipe de infra por um dos nodes de produção, segregado, e isolado que subirá com JPDA para investigação em ambiente produtivo.
Você deve estar pensando: Quanto trabalho para testar? Eu concordo!
Por isso é altamente recomendável que os ambientes sejam sempre o mais parecidos o possível entre si. QA, UAT e PROD, de forma que só se corrige erros em PROD, uma vez que não fosse possível reproduzir em QA e UAT. Só se corrige erros em UAT, uma vez que não foi possível corrigir em QA, e só se corrige em QA, uma vez que não foi possível reproduzir o erro localmente.
Espero ter ajudado,
Abraço e sucesso,
Rodrigo