<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/ -->
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
<title>Starting a server in debug mode</title>
</head>
<body onresize="location.reload();" id="twsrtdbg_wst"><a name="twsrtdbg_wst"><!-- --></a>
<h1 class="topictitle1">Starting a server in debug mode</h1>
<div><div>If you want to debug your projects while
a server runs, you can start a server in debug mode.</div><div class="p" id="twsrtdbg_wst__twsrtdbg_prereq"><a name="twsrtdbg_wst__twsrtdbg_prereq"><!-- --></a><strong>Prerequisites:</strong><ul><li><a href="twcrtins.html">Create a server.</a></li>
<li><a href="twaddprj.html">Add a project to the server.</a></li>
<li>Edit the file you want to run and set breakpoints.</li>
<li>Open the Debug perspective.</li>
</ul>
</div>
<div class="section" id="twsrtdbg_wst__twsrtdbg_context"><a name="twsrtdbg_wst__twsrtdbg_context"><!-- --></a><p>Once you have started the server in debug
mode you can run the projects that are associated with the server. You can
stop and restart the server at any time. The status of the server is displayed
in the <span class="uicontrol"> Status </span> column of the Servers view. The status
of the breakpoints in your file is displayed in the Debug view.</p>
<p>To manually
start the server in debug mode:</p>
<p> </p>
</div>
<ol><li class="stepexpand" id="twsrtdbg_wst__twsrtdbg_step1"><a name="twsrtdbg_wst__twsrtdbg_step1"><!-- --></a><span>In the Servers view ( <span class="menucascade"><span class="uicontrol">Window
&gt; Show View &gt; Other &gt; Server &gt; Servers &gt; OK</span></span>),
right-click the server you want to start in debug mode.</span></li>
<li class="stepexpand"><span><span id="twsrtdbg_wst__twsrtdbg_steps_ph1"><a name="twsrtdbg_wst__twsrtdbg_steps_ph1"><!-- --></a>In the pop-up menu select <span class="uicontrol">Debug </span> </span> <img src="../images/launch_debug.gif" alt="Picture of Start in debug mode icon" onload="javascript:resizeimage(this);" name="../images/launch_debug.gif" /> . </span> <span id="twsrtdbg_wst__twsrtdbg_steps_ph2"><a name="twsrtdbg_wst__twsrtdbg_steps_ph2"><!-- --></a>In the  <span class="uicontrol">Status</span> column
of the Servers view, the status of the server changes to <em>Debugging</em>,
after the server is started in debug mode.</span></li>
</ol>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../topics/twsrtins.html" title="When you are ready to test your projects, you must start a server. In some situations, listed below, the server tools start a server for you automatically. For more information on which test server will start, refer to the list of related topics at the end of this topic.">Starting a server</a></div>
</div>
</div>
</body>
</html>