Reputation: 2419
I came to know of the remote debugging procedure under Idea recently. What I do is copy the configuration of remote debug under Run | Debug Configuration in Idea to the command line java execution parameters. The actual command line parameters are:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
If it is a script, I add these commands to it. By doing so, the command line displays the message:
Listening for transport dt_socket at address: 8000
So the debugging can happen using the local source code. However, I don't properly understand how remote debugging work. Anyone who knows how remote debugging actually works, please give me an explanation.
Thank you!
Upvotes: 6
Views: 22491
Reputation: 111
Consider a scenario where you want to fix something in your application but your application only can run over a server machine because of other dependencies. That is where Remote Debugging come into picture. You Just connect the sever by providing the hostname and port and connect it with your respective environment.
How It works:
Upvotes: 3
Reputation: 116
This is best way to test your code which are in different environment .
we need to have below points for sure before you are using remote debug .
configure - JBOSS_HOME/bin/run.conf JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
now add the server IP and port number into the intellij remote debugging . 4.your should have the latest version of the project in local that is in synch with the server else debug will not be allowed.
The other point is , it will hold all the request in the queue and will not allow anyone to go through the break point which may stop other users to test it .
Upvotes: 0
Reputation: 401877
Remote debugging means that you can run your Java code anywhere, either on the local or remote machine. When it's running in the debug mode, you can connect to it from the IDE using TCP network connection and perform debugging. IDE needs to have the source code for the running classes so that you can place breakpoints inside this code and perform stepping, inspecting variables, etc.
If you are interested in technical details, refer to the JPDA documentation.
Upvotes: 10