The client/server design of the Java debugger allows you to launch a Java
program from computer on your network and debug it from the workstation running
the platform. This is particularly useful when you are developing a program
for a device that cannot host the development platform. It is also useful
when debugging programs on dedicated machines such as web servers.
Note: To use remote debugging, you must be using a Java VM that supports
To debug a program remotely, you must be able to launch the program in debug
mode on the remote machine so that it will wait for a connection from your
debugger. The specific technique for launching the program and connecting
the debugger are VM-specific. The basic steps are as follows:
- Ensure that you are building your Java program with available debug information. (You
- After you build your Java program, install it to the target computer. This
involves copying the .CLASS files or .JAR files to the appropriate location
on the remote computer.
- Invoke the Java program on the remote computer using the appropriate VM
arguments to specify debug mode and a communication port for the debugger.
- Start the debugger using a remote launch configuration and specify the
address and port of the remote computer.
When setting up the remote launch configuration there are a few items to take
- You must ensure you enter the correct hostname i.e. the name of the remote
computer where you are currently running your code. The hostname can also
be the IP address of the remote machine, for example using
- The port number must be the number of the port on the
Certain Java VMs support another way of starting a remote debug session. In
this alternative connection type, the debugger is launched first. The debugger
then waits and listens for the VM to connect to it. To debug this way, you
must properly configure and launch a remote debug session, then launch the
VM, specifying the location of your waiting debugger. For more information,
Using the remote Java application launch configuration.
Using the remote Java application launch configuration
Disconnecting from a VM