| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html lang="en"> |
| <head> |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2007. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <link rel="stylesheet" href="../book.css" charset="ISO-8859-1" type="text/css"> |
| <title>Remote Debugging</title> |
| <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"> </script> |
| </head> |
| <body> |
| <h1>Remote Debugging</h1> |
| <p>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. </p> |
| <p>Note: To use remote debugging, you must be using a Java VM that supports |
| this feature.</p> |
| <p>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:</p> |
| <ol> |
| <li>Ensure that you are building your Java program with available debug information. (You |
| can control these attributes from the <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.jdt.ui.preferences.CompliancePreferencePage)")'> <img src="PLUGINS_ROOT/org.eclipse.help/command_link.svg" alt="Goto the Java compiler preference page"> <strong>Java > Compiler</strong></a> preference |
| page). </li> |
| <li>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.</li> |
| <li>Invoke the Java program on the remote computer using the appropriate VM |
| arguments to specify debug mode and a communication port for the debugger.</li> |
| <li>Start the debugger using a remote launch configuration and specify the |
| address and port of the remote computer.</li> |
| </ol> |
| <p>When setting up the remote launch configuration there are a few items to take |
| note of:</p> |
| <ul> |
| <li>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 <em><strong>127.0.0.1</strong></em> instead |
| of <em><strong>localhost</strong></em>.</li> |
| <li>The port number must be the number of the port on the <em><strong>remote |
| machine</strong></em>.</li> |
| </ul> |
| <p>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, |
| see <a href="../tasks/task-remotejava_launch_config.htm">Using the remote Java |
| application launch configuration</a>.</p> |
| <h3 class="related">Related tasks</h3> |
| <a href="../tasks/task-remotejava_launch_config.htm">Using the remote Java |
| application launch configuration</a><br> |
| <a href="../tasks/task-disconnect_remote_debug.htm">Disconnecting from a VM</a> |
| </body> |
| </html> |