blob: 05edcb32e4f3397581579b028276c2eb045b47cd [file] [log] [blame]
<!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.&nbsp; This is particularly useful when you are developing a program
for a device that cannot host the development platform.&nbsp; It is also useful
when debugging programs on dedicated machines such as web servers.&nbsp; </p>
<p>Note:&nbsp; 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.&nbsp; The specific technique for launching the program and connecting
the debugger are VM-specific.&nbsp; The basic steps are as follows:</p>
<ol>
<li>Ensure that you are building your Java program with available debug information.&nbsp; (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 &gt; Compiler</strong></a> preference
page).&nbsp; </li>
<li>After you build your Java program, install it to the target computer.&nbsp; 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>