﻿<!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 View [PHP Debug Perspective]</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; }
P.Style1 {  }
LI.P-Style1 {  }
-->
</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 Perspectives and Views\nPHP Debug Perspective\nDebug View [PHP Debug Perspective]");
addAvenueInfo("Reference","type_hierarchy_view.htm","variables_view.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=\"php_perspectives_and_views.htm\">PHP Perspectives and Views<\/a> &gt; <a href=\"php_debug_perspective.htm\">PHP Debug Perspective<\/a> &gt; Debug View [PHP Debug Perspective]<\/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 View [PHP Debug Perspective] 
 </h1>
<p>&#160;</p>
<p style="font-weight: normal;">The Debug view displays the stack trace 
 and allows you to monitor and control the Debugging process.</p>
<p class="picture"><img src="debug_view.png" alt="Debug View [PHP Debug Perspective]" title="Debug View [PHP Debug Perspective]" style="border: none;" width="315" height="175" border="0"></p>
<p class="Strong">Debug View Toolbar Commands</p>
<table cellspacing="0" width="100%">
	<col style="width: 7.485%;">
	<col style="width: 12.475%;">
	<col style="width: 80.04%;">
	<tr valign="top">
		<td style="border: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Icon</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 12.475%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Name</p></td>
		<td style="border-top: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 80.04%; padding-right: 10px; 
			 padding-left: 10px;"><p style="font-weight: bold;">Description</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="remove_terminated_launches_icon.png" alt="remove_terminated_launches_icon.png" style="border: none;" width="27" height="25" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Remove Terminated Launches</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Remove any terminated debug sessions 
		 from the list.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="resume_icon.png" alt="resume_icon.png" style="border: none;" width="25" height="24" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Resume</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Continue the debugging process 
		 until the next breakpoint, or until the end of the debugging process.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="terminate_debug_icojn.png" alt="terminate_debug_icojn.png" style="border: none;" width="19" height="17" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Terminate</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Stop the debugging process.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="step_into_icon.png" alt="step_into_icon.png" style="border: none;" width="27" height="24" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Step Into</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Step into the next method call 
		 at the currently executing line of code.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="step_over_icon.png" alt="step_over_icon.png" style="border: none;" width="23" height="20" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Step Over</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Step over the next method call 
		 (without entering it) at the currently executing line of code. 
		 The method will still be executed.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="step_return.png" alt="step_return.png" style="border: none;" width="20" height="22" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Step Return</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p>Return 
		 from a method which has been stepped into. The remainder of the 
		 code that was skipped by returning is still executed.</p></td>
	</tr>
	<tr valign="top">
		<td style="border-left: Solid 1px #000000; border-right: Solid 1px #000000; 
			 border-bottom: Solid 1px #000000; width: 7.485%; padding-right: 10px; 
			 padding-left: 10px;"><p><img src="use_step_filters_icon.png" alt="use_step_filters_icon.png" style="border: none;" width="30" height="28" border="0"></p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 12.475%; padding-right: 10px; padding-left: 10px;"><p 
			 style="font-weight: normal;">Use Step Filters</p></td>
		<td style="border-right: Solid 1px #000000; border-bottom: Solid 1px #000000; 
			 width: 80.04%; padding-right: 10px; padding-left: 10px;"><p>Enables/disables 
		 the <a href="step_filtering_preferences.htm">step filters</a> 
		 functionality.</p></td>
	</tr>
</table>
<p class="Note">Note:</p>
<p class="NoteText">The Debug View [PHP Debug Perspective] 
 is displayed by default as part of the Debug Perspective. To manually 
 open the view, go to <span style="font-weight: bold;"><b>Window | Show View 
 | Other | Debug | Debug</b></span>.</p>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="height: 16px;" valign="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="height: 35px;" valign="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 style="font-weight: normal;"><span><a href="php_debug_perspective.htm"><span 
		 style="font-weight: normal;">PHP Debug Perspective</span> 
		 </a></span></p>
		<p><a href="variables_view.htm">Variables View</a></p>
		<p><a href="breakpoints_view.htm">Breakpoints View</a></p>
		<p><a href="parameter_stack.htm">Parameter Stack View</a></p>
		<p><a href="debug_output_view.htm">Debug Output View</a></p>
		<p><a href="browser_output_view.htm">Browser Output View</a></p>
		<p class="TableText"><a href="expressions_view.htm">Expressions 
		 View</a></p></td>
	</tr>
	<tr style="height: 19px;" valign="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>
