<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2006. 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>
      Debug view
    </title>
  </head>
  <body>
    <h1>
      Debug view    </h1>
    <hr>
    <p>
      This view allows you to manage the debugging or running of a program in the workbench. It displays the stack frame for the suspended threads for each target you are
      debugging. Each thread in your program appears as a node in the tree. It displays the process for each target you are running.    </p>
    <p>If the thread is suspended, its stack frames are shown as child elements. </p>
    <p><img src="../../../reference/views/debug/images/ref-debug_view.PNG" alt="Debug View"></p>
    <p>Following are the commands available for the Debug View. </p>
    
    <table border="1" cellspacing="0" cellpadding="5">
  <caption> Debug View Commands </caption>
  <thead> 
  <tr> 
    <th rowspan="1" colspan="1"> 
      <p> Command </p>    </th>
    <th rowspan="1" colspan="1"> 
      <p> Name </p>    </th>
    <th rowspan="1" colspan="1"> 
      <p> Description </p>    </th>
	 <th rowspan="1" colspan="1"> 
      <p> Availability </p>    </th>
  </tr>
  </thead> <tbody> 
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/copy_edit_co.png" alt="Copy Stack command in context menu"></td>
    <td rowspan="1" colspan="1" valign="top" align="left" ><p> Copy Stack </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left" ><p> Copies the selected stack of suspended threads as well 
      as the state of the running threads to the clipboard. </p></td>
    <td>Context menu</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/disconnect_co.png" alt="Disconnect button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Disconnect </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Disconnects the debugger from the selected debug target 
      when debugging remotely. </p></td>
    <td>Context menu and view action</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left" ><img src="../../../images/org.eclipse.debug.ui/elcl16/drop_to_frame.png" alt="Copy Stack command in context menu"></td>
    <td rowspan="1" colspan="1" valign="top" align="left" ><p> Drop to Frame </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> This command lets you drop back and reenter a specified stack frame. 
      This feature is similar to &quot;running backwards&quot; and restarting 
      your program part-way through. </p>
        <p> To drop back and reenter a specified stack frame, select the stack frame 
          that you want to &quot;drop&quot; to, and select <strong>Drop to Frame</strong>. </p>
      <p> Some caveats apply to this feature: </p>
      <ul>
          <li> You cannot drop past a native method on the stack. </li>
        <li> Global data are unaffected and will retain their current values. 
          For example, a static vector containing elements will not be cleared. </li>
      </ul>
      <em>Note: This command is only enabled if the underlying VM supports this 
        feature.</em> </td>
    <td>Context menu and view action</td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left">&nbsp;</td>
    <td colspan="1" valign="top" align="left">Edit...</td>
    <td colspan="1" valign="top" align="left">Realizes the launch configuration dialog, allowing you to make changes. </td>
    <td>Context menu </td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/edtsrclkup_co.png" alt="Edit Source Lookup" ></td>
    <td colspan="1" valign="top" align="left">Edit Source Lookup </td>
    <td colspan="1" valign="top" align="left">Realizes the source lookup dialog, allowing you to make changes. </td>
    <td>Context menu </td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left">&nbsp;</td>
    <td colspan="1" valign="top" align="left">Find...</td>
    <td colspan="1" valign="top" align="left">Realizes the debug view element searching dialog.</td>
    <td>Context menu </td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left">&nbsp;</td>
    <td colspan="1" valign="top" align="left">Open Declared Type </td>
    <td colspan="1" valign="top" align="left">Opens the declared type for the selected stack frame in a new editor. </td>
    <td>Context menu </td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left">&nbsp;</td>
    <td colspan="1" valign="top" align="left">Open Declared Type Hierarchy </td>
    <td colspan="1" valign="top" align="left">Realizes the type hierarchy for the declared type of the selected stack frame. </td>
    <td>Context menu </td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left">&nbsp;</td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Properties </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> This command displays the properties of the selected launch. It also 
      allows you to view the full command line for a selected process. </p></td>
    <td>Context menu</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/runlast_co.png" alt="Relaunch command in context menu"></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Relaunch </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> This command re-launches the selected debug target. </p></td>
    <td>Context menu</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/rem_all_co.png" alt="Remove All Terminated Launches button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Remove All Terminated Launches </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Clears all terminated debug targets from the view display. </p></td>
    <td>Context menu and view action</td>
  </tr>
  <tr> 
    <td rowspan="1" colspan="1" valign="top" align="left"> <img src="../../../images/org.eclipse.debug.ui/elcl16/resume_co.png" align="baseline"  alt="Resume button">    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Resume </p>    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Resumes a suspended thread. </p>    </td>
	<td>Context menu, Run menu and view action</td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.jdt.debug.ui/obj16/thread_and_monitor_obj.png" alt="Show Monitors"></td>
    <td colspan="1" valign="top" align="left">Show Monitors </td>
    <td colspan="1" valign="top" align="left"><p>This option can be toggled to display or hide monitors. </p>
      <p><em>Note: this command will only display monitor information if the underlying VM supports it.</em> </p></td>
    <td>View action </td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.jdt.debug.ui/obj16/package_obj.png" alt="Show Qualified Names button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Show Qualified Names </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> This option can be toggled to display or hide qualified names. </p></td>
    <td>View action</td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.jdt.debug.ui/obj16/thread_obj.png" alt="Show System Threads"></td>
    <td colspan="1" valign="top" align="left">Show System Threads </td>
    <td colspan="1" valign="top" align="left">This option can be toggled to display or hide system threads </td>
    <td>View action </td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.jdt.debug.ui/obj16/threadgroup_obj.png" alt="Show Thread Groups"></td>
    <td colspan="1" valign="top" align="left">Show Thread Groups </td>
    <td colspan="1" valign="top" align="left">This option can be toggled to display or hide thread groups </td>
    <td>View action</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/stepinto_co.png" alt="Step Into button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Step Into </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Steps into the highlighted statement. </p></td>
    <td>Context menu, Run menu and view action</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/stepover_co.png" alt="Step Over button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Step Over </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Steps over the highlighted statement. Execution will continue 
      at the next line either in the same method or (if you are at the end of 
      a method) it will continue in the method from which the current method 
      was called. </p>
        <p> The cursor jumps to the declaration of the method and selects this line. </p></td>
    <td>Context menu, Run menu and view action</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/stepreturn_co.png" alt="Run to Return button"> </td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Step  Return </p></td>
    <td rowspan="1" colspan="1" valign="top" align="left"><p> Steps out of the current method. This option stops execution 
      after exiting the current method. </p></td>
    <td>Context menu, Run menu and view action</td>
  </tr>
  
  <tr> 
    <td rowspan="1" colspan="1" valign="top" align="left"> <img src="../../../images/org.eclipse.debug.ui/elcl16/suspend_co.png" align="baseline"  alt="Suspend button">    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Suspend </p>    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Suspends the selected thread of a target so that you can 
        browse or modify code, inspect data, step, and so on. </p>    </td>
	<td>Context menu, Run menu and view action</td>
  </tr>
  <tr> 
    <td rowspan="1" colspan="1" valign="top" align="left"> <img src="../../../images/org.eclipse.debug.ui/elcl16/terminate_co.png" align="baseline"  alt="Terminate button">    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Terminate </p>    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Terminates the selected debug target. </p>    </td>
	<td>Context menu, Run menu and view action</td>
  </tr>
  <tr>
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/etool16/term_restart.png" alt="Terminate and Relaunch"></td>
    <td colspan="1" valign="top" align="left">Terminate &amp; Relaunch </td>
    <td colspan="1" valign="top" align="left">Terminates the selected debug target and relaunches it. </td>
    <td>Context menu </td>
  </tr>
  <tr> 
    <td rowspan="1" colspan="1" valign="top" align="left"> <img src="../../../images/org.eclipse.debug.ui/elcl16/terminate_rem_co.png" alt="Terminate &amp; Remove command in context menu"></td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Terminate &amp; Remove </p>    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p>Terminates the selected debug target and removes it from 
        the view. </p>    </td>
	<td>Context menu</td>
  </tr>
  <tr> 
    <td rowspan="1" colspan="1" valign="top" align="left"> <img src="../../../images/org.eclipse.debug.ui/elcl16/terminate_all_co.png" alt="Terminate All command in context menu"></td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Terminate All </p>    </td>
    <td rowspan="1" colspan="1" valign="top" align="left"> 
      <p> Terminates all active launches in the view. </p>    </td>
	<td>Context menu</td>
  </tr>
  <tr> 
    <td colspan="1" valign="top" align="left"><img src="../../../images/org.eclipse.debug.ui/elcl16/stepbystep_co.png" alt="Step with Filters button">    </td>
    <td colspan="1" valign="top" align="left">Use Step Filters</td>
    <td colspan="1" valign="top" align="left">Toggles 
      step filters on/off. When on, all step functions apply step filters.</td>
	  <td>Context menu, Run menu and view action</td>
  </tr>
  </tbody> 
</table>
    <hr>
    <p>
      <img border="0" src="../../../images/ngrelc.png" alt="Related concepts" >
    </p>
    <p>
      <a href="../../../concepts/cdebugger.htm">Debugger</a><br>
       <a href="../../../concepts/cjavaviews.htm">Java views</a><br>
       <a href="../../../concepts/clocdbug.htm">Local debugging</a><br>
       <a href="../../../concepts/cremdbug.htm">Remote debugging</a>
    </p>
    <p>
      <img border="0" src="../../../images/ngrelt.png" alt="Related tasks" >
    </p>
    <p>
      <a href="../../../tasks/tasks-9.htm">Changing debugger launch options</a><br>
       <a href="../../../tasks/task-remotejava_launch_config.htm">Connecting to a remote VM with the Remote Java application launch configuration</a><br>
       <a href="../../../tasks/task-disconnect_remote_debug.htm">Disconnecting from a VM</a><br>
       <a href="../../../tasks/task-launching_java_program.htm">Launching a Java program</a><br>
       <a href="../../../tasks/task-preparing_to_debug.htm">Preparing to debug</a><br>
       <a href="../../../tasks/task-resuming_threads.htm">Resuming the execution of suspended threads</a><br>
       <a href="../../../tasks/task-running_and_debugging.htm">Running and debugging</a><br>
       <a href="../../../tasks/task-stepping.htm">Stepping through the execution of a program</a><br>
       <a href="../../../tasks/task-suspending_threads.htm">Suspending threads</a>
    </p>
    <p>
      <img border="0" src="../../../images/ngrelr.png" alt="Related reference" >
    </p>
    <p>
      <a href="../../preferences/ref-debug.htm">Debug preferences</a><br>
       <a href="../../ref-4.htm">Run and debug actions</a><br>
       <a href="../ref-viewsandeditors.htm">Views and editors</a>    </p>
    <p>&nbsp;</p>
  </body>
</html>

