core/com.nokia.carbide.cpp.doc.user/html/debugger/breakpoints/resolving_breakpoints.htm
author dan.podwall@nokia.com
Mon, 06 Apr 2009 14:56:28 -0500
changeset 56 887bd61e1328
parent 2 d760517a8095
child 1225 a546534a48de
permissions -rw-r--r--
merge from RCL_2_0 to default
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
cawthron
parents:
diff changeset
     2
<html>
cawthron
parents:
diff changeset
     3
<head>
cawthron
parents:
diff changeset
     4
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
cawthron
parents:
diff changeset
     5
<meta http-equiv="Content-Style-Type" content="text/css" />
cawthron
parents:
diff changeset
     6
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
cawthron
parents:
diff changeset
     7
<title>Breakpoint Status Indicators </title>
cawthron
parents:
diff changeset
     8
<link rel="StyleSheet" href="../../../book.css" type="text/css"/>
cawthron
parents:
diff changeset
     9
</head>
cawthron
parents:
diff changeset
    10
<body bgcolor="#FFFFFF">
cawthron
parents:
diff changeset
    11
<h2> Breakpoint Status Indicators </h2>
cawthron
parents:
diff changeset
    12
<p>Breakpoints must be located and resolved by the debugger before they can be hit. When a breakpoint is hit in the module, the debugger halts program execution and displays the state of the program in the <a href="../../reference/perspective_debug.htm">Debug</a> perspective. </p>
cawthron
parents:
diff changeset
    13
<p>To hit a breakpoint during a debug session, the debugger must first load the symbols for an executable module and then attempt to resolve the breakpoints within the loaded module. Any module listed into the <a href="../../reference/view_executables.htm">Executables</a> view is available for loading by  a debug session. If a module is not present in the Executable view you'll need to import it before the debugger to load and resolve any breakpoints within that module. </p>
cawthron
parents:
diff changeset
    14
<p>You  set a breakpoint on any executable line of code that the debugger can resolve. Lines containing comments and other non executable code cannot be assigned a breakpoint as they are normally stripped from the  compiled   binary. Carbide helps by preventing you from setting a breakpoint on a non-compilable line of code. </p>
cawthron
parents:
diff changeset
    15
<p>When the debugger attempts to resolve a breakpoint the possible results are shown in Table 1.</p>
cawthron
parents:
diff changeset
    16
<h5>Table 1 Breakpoint&mdash;type, icons, and states </h5>
cawthron
parents:
diff changeset
    17
<table width="90%"  border="0" cellpadding="2" cellspacing="0">
cawthron
parents:
diff changeset
    18
  <tr>
cawthron
parents:
diff changeset
    19
    <th width="15%" scope="col">Type</th>
cawthron
parents:
diff changeset
    20
    <th width="14%" scope="col">Icon</th>
cawthron
parents:
diff changeset
    21
    <th width="14%" scope="col">State</th>
cawthron
parents:
diff changeset
    22
    <th width="71%" scope="col">Explanation</th>
cawthron
parents:
diff changeset
    23
  </tr>
cawthron
parents:
diff changeset
    24
  <tr>
cawthron
parents:
diff changeset
    25
    <td rowspan="2"><b>Enabled</b></td>
cawthron
parents:
diff changeset
    26
    <td><div align="center"><img src="../../tasks/breakpoints/images/breakpoints_enabled_icon.png" width="9" height="10" /></div></td>
cawthron
parents:
diff changeset
    27
    <td><div align="center">Unresolved</div></td>
cawthron
parents:
diff changeset
    28
    <td><p>The breakpoint is enabled but the symbols for the module  are not loaded or the breakpoint was not able to be set within the current function.Breakpoint icon remains in unflagged state indicating unresolved status.</p>
cawthron
parents:
diff changeset
    29
      <p>If  the breakpoint has been set in the source file but not resolved: </p>
cawthron
parents:
diff changeset
    30
      <ul>
cawthron
parents:
diff changeset
    31
        <li>a debug session has not been launched to resolve the breakpoint. For example, you just set the breakpoint and have yet to launch a debug session. </li>
cawthron
parents:
diff changeset
    32
        <li>the symbols file containing the breakpoint cannot be found. Ensure the module to debug is present in the Executable view list so the debugger can locate and load the executable for symbol resolution. </li>
cawthron
parents:
diff changeset
    33
        <li>breakpoint is set on a source line without any executable code</li>
cawthron
parents:
diff changeset
    34
        <li>breakpoint is located in a deadstripped  function not present in the executable </li>
cawthron
parents:
diff changeset
    35
      </ul>      </td>
cawthron
parents:
diff changeset
    36
  </tr>
cawthron
parents:
diff changeset
    37
  <tr>
cawthron
parents:
diff changeset
    38
    <td><div align="center"> <img src="../../images/icons/breakpoints_enabled_icon.png" width="15" height="12" /></div></td>
cawthron
parents:
diff changeset
    39
    <td><div align="center">Resolved</div></td>
cawthron
parents:
diff changeset
    40
    <td><p>The breakpoint is currently enabled,  the symbols for the module  are loaded,  and the breakpoint  located in the executable   being debugged. The debugger halts program execution at an enabled breakpoint. </p>
cawthron
parents:
diff changeset
    41
      <ul>
cawthron
parents:
diff changeset
    42
        <li><b>resolved</b> &#8212; the symbols for the module  are loaded  and the breakpoint  located in the executable that&#8217;s currently being debugged, circle icon changes to flagged icon </li>
cawthron
parents:
diff changeset
    43
        <li><b>resolved and moved</b> &#8212;the breakpoint is not found in the executable at the specified point. Debugger moves breakpoint forward in the current function until a line is found that can be resolved. Breakpoint icon moved to source line matching new breakpoint location and changed to flagged icon</li>
cawthron
parents:
diff changeset
    44
    </ul>      
cawthron
parents:
diff changeset
    45
    </td>
cawthron
parents:
diff changeset
    46
  </tr>
cawthron
parents:
diff changeset
    47
  <tr>
cawthron
parents:
diff changeset
    48
    <td rowspan="2"><b>Disabled</b></td>
cawthron
parents:
diff changeset
    49
    <td><div align="center"><img src="../../tasks/breakpoints/images/breakpoints_disabled_icon.png" width="12" height="11" /></div></td>
cawthron
parents:
diff changeset
    50
    <td><div align="center">Unresolved</div></td>
cawthron
parents:
diff changeset
    51
    <td>Indicates that the breakpoint is currently disabled but not located in the executable during a debug session. The debugger does not halt program execution at a disabled breakpoint.</td>
cawthron
parents:
diff changeset
    52
  </tr>
cawthron
parents:
diff changeset
    53
  <tr>
cawthron
parents:
diff changeset
    54
    <td><div align="center"><img src="../../images/icons/breakpoints_disabled_icon.png" width="15" height="12" /></div></td>
cawthron
parents:
diff changeset
    55
    <td><div align="center">Resolved</div></td>
cawthron
parents:
diff changeset
    56
    <td>Indicates that the breakpoint is currently disabled and resolved for the source line. The debugger does not halt program execution at a disabled breakpoint.</td>
cawthron
parents:
diff changeset
    57
  </tr>
cawthron
parents:
diff changeset
    58
</table>
cawthron
parents:
diff changeset
    59
<h4>Other references</h4>
cawthron
parents:
diff changeset
    60
<ul>
cawthron
parents:
diff changeset
    61
  <li><a href="breakpoints.htm">Breakpoints overview </a></li>
cawthron
parents:
diff changeset
    62
</ul>
cawthron
parents:
diff changeset
    63
<div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
cawthron
parents:
diff changeset
    64
</body>
cawthron
parents:
diff changeset
    65
</html>