Passei algum tempo pra fazer isso funcionar, mas finalmente consegui. Debugar (depurar) em um servidor remoto é bastante útil e economiza bastante tempo. No meu caso, tenho uma lib (jar) que é importada no projeto, e a única forma de debugar ela com o projeto rodando, foi utilizando o debug remoto (mesmo estando no mesmo servidor).
É bastante interessante utilizar um Tomcat que foi instalado separadamente, e não o que foi instalado com o NetBeans. No meu caso, não instalei do repositório (apt, yum etc.), mas baixei o pacote compactado no site e extraí na pasta /opt/tomcat6.
O procedimento foi testado no Linux Mint Debian Edition (LMDE), mas muito provavelmente funcionará em outras distribuições, especialmente Debian e Ubuntu. A versão do NetBeans é a 7.1.1 e o Tomcat 6.0.35.
Vá no Terminal e digite o seguinte comando
sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start
Lembre-se de substituir pelos diretórios corretos para o seu caso.
Se a mensagem "INFO: Server startup in X ms" apareceu, quer dizer que até aí deu tudo certo.
Depois é só ir no NetBeans para anexar o depurador. Acesse o menu "Depurar" (em inglês deve ser "Debug") e depois "Anexar Depurador" (em inglês deve estar como "Attach Debugger").
Coloque a porta 7001 e o host deve ser a máquina onde está o tomcat (o IP ou o nome). E pronto. Agora é só abrir sua aplicação e colocar os pontos de interrupção onde você quizer!
Informação adicionada em 26/12/2012:
Graças à colaboração (através dos comentários) de Afonso, vou mostrar uma forma bem mais simples (e que resolverá seu problema caso não esteja conseguindo debugar)
Ao invés de chamar o tomcat através da linha abaixo:
sudo java -jar -Xdebug -Djava.compiler=NONE -Xrunjp:transport=dt_socket,server=y,suspend=n,address=7001 -Duser.dir="/opt/tomcat6" -Djava.endorsed.dirs="/opt/tomcat6/common/endorsed" "/opt/tomcat6/bin/bootstrap.jar" start
Simplesmente adicione ao catalina.sh, logo após os comentários (linhas que começam com #), a linha abaixo:
CATALINA_OPTS=”-Xdebug -Xrunjdwp:transport=dt_socket,address=7001,server=y,suspend=n”
E reinicie seu Tomcat. O resto dos passos você pode fazer da mesma forma, e assim você poderá depurar/debugar suas classes remotamente!
Fonte: http://ahm507.blogspot.com.br/2006/12/netbeans-remote-debugging.html
Últimos comentários