Remote Debugging with Intellij Idea

21,304

Solution 1

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.

Solution 2

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:

  1. Application to be debugged will attach a socket to itself and then will start listening debug instructions.
  2. Debugger will bind itself to that socket and then send instructions.
Share:
21,304
Izza
Author by

Izza

Updated on October 11, 2020

Comments

  • Izza
    Izza over 3 years

    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!