Eclipse: remote debugging a tomcat server behind a firewall?

This article suggests that the default port on which the remote Java virtual machine (JVM) is listening in debugging mode is 1044. You should tunnel the port on which the remote JVM is running as well.

This article suggests that the default port on which the remote Java virtual machine (JVM) is listening in debugging mode is 1044. You should tunnel the port on which the remote JVM is running as well. More generally, you could run wireshark/tcpdump to see to which port connection attempts are made when starting the debugger.

EDIT: A few more things I would try: check on the remote host (e.g. With ps auxwww if it's Linux) with which arguments (look for what comes behind -Xrunjdwp or with lsof -p PID_OF_JVM_TO_BE_DEBUGGED on which TCP port it listens (look for lines with TCP and LISTEN in the lsof output) make sure that the JVM on the remote host listens on the lo interface, not the network interface (that's what you specify with the localhost in the -L option to ssh). Does starting the debugger by hand on the machine where you start eclipse with jdb -attach localhost:8000 work?(you could also try this on the remote host to ensure the debugger is running on the port 8000) make sure that eclipse tries to connect to localhost (when not specifying a bind address before the first 8000 with the -L option ssh listens on the lo interface).

I'm explicitly setting the port to 8000 in tomcat startup script (and remote debugging works while inside the company network indeed); will try with tcpdump to see if there is some other connection attempt, but in that case the error I get ("timeout waiting for packet") would be misleading. – guido Jul 16 at 23:49 connection timed out could be due to the firewall simply ignoring (discarding) the packets of the connection attempt (instead of sending a packet which says that there is nothing running on this port and immediately refuse the connection attempt). – Andre Holzner Jul 17 at 7:58 thanks for your help; actually the connection runs for some seconds before timeout, and the error reported which packet number was "late" (or never arrived).

Please look at my edits in the question for some more details – guido Jul 17 at 9:01 do you understand what the service on port 18005 is? (I'm just wondering whether this is what you need to tunnel in addition) – Andre Holzner Jul 17 at 18:27 yep, it's the tomcat port for shutdown, in the tag (default is 8005, but that is taken by another tomcat instance) – guido Jul 17 at 23:44.

I often had this problem when doing remote debugging. I do not know the exact reason for this problem, but I used the below solution and maybe it works for you, too.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions