﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="generator" content="Adobe RoboHelp 8">
<title>Debug Preferences</title>
<link rel="StyleSheet" href="default.css" type="text/css">
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
	origWidth = innerWidth;
	origHeight = innerHeight;
	onresize = reDo;
}
onerror = null; 
//]]>
</script>
<style type="text/css">
<!--
div.WebHelpPopupMenu { position:absolute;
left:0px;
top:0px;
z-index:4;
visibility:hidden; }
p.WebHelpNavBar { text-align:right; }
-->
</style>
<script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whlang.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.gbWhTopic)
{
	var strUrl = document.location.href;
	var bc = 0;
	var n = strUrl.toLowerCase().indexOf("bc-");
	if(n != -1)
	{
		document.location.href = strUrl.substring(0, n);
		bc = strUrl.substring(n+3);
	}

	if (window.setRelStartPage)
	{
	addTocInfo("Reference\nPHP Preferences\nDebug Preferences");
addAvenueInfo("Reference","appearance.htm","editor.htm");

	}

	document.write("<p style=\"text-align:left\"> ");
AddMasterBreadcrumbs("ide_help.htm", "", "&gt;", "Home", "pdt_table_of_contents.htm");
document.write("<a href=\"reference.htm\">Reference<\/a> &gt; <a href=\"preferences.htm\">PHP Preferences<\/a> &gt; Debug Preferences<\/p>");


	if (window.setRelStartPage)
	{
	setRelStartPage("ide_help.htm");

		autoSync(0);
		sendSyncInfo();
		sendAveInfoOut();
	}

}
else
	if (window.gbIE4)
		document.location.reload();
//-->
//]]></script>
</head>

<body leftmargin="5" topmargin="5" rightmargin="5" bottommargin="5"><script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
//]]></script>
<div style="width: 100%; position: relative;" id="header">
	
	
 <p align="right"><a 
	 title="Documentation Survey" href="http://spreadsheets.google.com/viewform?formkey=dC1scEswTjFia2tDQ3Y5TVJBbkNQcWc6MQ">Documentation 
	 Survey</a> 
	 | <a href="javascript:crlf=&quot;&quot;;h=location.href;t=document.title;e = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (e!=null) location=&quot;mailto:documentation@zend.com&quot; + &quot;?Subject= Feedback on PDT for page &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0"><span 
	 style="background-color: #ffffff;">Submit Documentation</span><span 
	 style="background-color: #ffffff;"> Feedback</span></a><span 
	 style="background-color: #ffffff;"></span><span style="background-color: #ffffff;"> 
	 </span><span style="background-color: #ffffff;">| 
	 </span><span 
	 style="background-color: #ffffff;"><a title="View Latest Version and Get PDF Online" 
											 href="http://www.zend.com/en/resources/zend-documentation/" 
											 target="_blank">View Latest 
	 Version and Get PDF Online</a></span></p>
</div>


<h1>Debug Preferences 
 </h1>
<p>The Debug preferences page allows you to configure default settings 
 for the debugging process.</p>
<p>&#160;</p>
<p>The Debug Preferences 
 Preferences page is accessed from Window | Preferences | PHP | Debug Preferences 
 .</p>
<p class="picture"><img src="debug_preferences.png" alt="Debug Preferences" title="Debug Preferences" style="border: none;" width="438" height="628" border="0"></p>

<p class="Strong">The settings that can be configured from the debug preferences 
 page are:</p>
<p style="font-weight: bold;">Default Settings</p>
<ul type="square">
	<li><p>PHP Debugger - Select which 
	 debugger will be used by default. </p></li>
	<li><p>Server - Choose which server the debugger will use by default. 
	 Click the &quot;PHP Servers&quot; category to be taken to the PHP 
	 Servers management page. For more on this, see <a href="php_servers.htm">PHP 
	 Servers.</a></p></li>
	<li><p>PHP Executable - Choose the required default PHP version. Click 
	 the &quot;PHP Executables&quot; category to be taken to the PHP Executables 
	 management page. For more on this, see <a href="php_executables.htm">PHP 
	 Executables.</a></p></li>
</ul>
<p class="ListBullet1" style="font-weight: bold;">Encoding Settings</p>
<ul type="square">
	<li><p>Debug Transfer Encoding - Select the required debug transfer 
	 encoding from the drop-down list.</p></li>
	<li><p>Debug Output Encoding &#160;- Select the required debug output 
	 encoding from the drop-down list.</p></li>
	<li><p>Break at First Line - Mark this checkbox to force the debugging 
	 process to stop at the first line of code by default.</p></li>
</ul>
<p class="Note">Note:</p>
<p class="NoteText">Further PHP encoding options can be accessed from the 
 preferences menu under General | Content Types | Text | PHP Content Type.</p>



<ul type="square">
	
	
	
</ul>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">&#160;</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="ref_icon.png" alt="Instructions on how to complete a procedure" title="Instructions on how to complete a procedure" style="border: none;" width="28" height="33" border="0"></p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">To apply Debug Preferences 
		 settings to a specific project only:</p>
		<ol type="1">
			<li class="p" style="margin-left: -20px;"><p>Select the link 
			 labelled &quot;Configure Project Specific Settings&quot;.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Select the required 
			 project from the list.<br>
			A Debug Preferences 
			 Properties dialog will appear.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Select the required 
			 settings and click Apply.</p></li>
			<li class="p" style="margin-left: -20px;"><p>A prompt dialog 
			 will appear stating that a rebuild of the project must occur 
			 for the settings to take effect.</p></li>
			<li class="p" style="margin-left: -20px;"><p>Click Yes to rebuild 
			 the project. Click No for a rebuild to be performed only when 
			 PDT 
			 is restarted. Click Cancel to cancel the operation.</p></li>
		</ol></td>
	</tr>
	<tr style="vertical-align: top;">
		<td colspan="2" style="width: 100%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
		
	</tr>
</table>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="link_icon.png" alt="link_icon.png" style="border: none;" width="32" height="40" border="0"></p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: bold;">Related Links:</p>
		<p><a href="debugging.htm">Debugging</a> </p>
		<p><a href="installed_debuggers.htm">Installed 
		 Debuggers</a></p>
		<p><a href="launching.htm">Workbench 
		 Options</a></p>
		<p><a href="preferences.htm">PHP 
		 Preferences</a></p></td>
	</tr>
	<tr style="vertical-align: top;">
		<td style="width: 7.093%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
</table>
<div style="width: 100%; position: relative;" id="footer">
	
 <p style="text-decoration: underline; " 
										 align="center">PHP Development 
	 Tools</p>
	
	
</div>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);

highlightSearch();
//-->
//]]></script>
</body>
</html>
