core/com.nokia.carbide.cpp.doc.user/html/concepts/breakpoints.htm
author timkelly
Fri, 27 Mar 2009 10:47:09 -0500
changeset 17 71c0485f97c2
parent 2 d760517a8095
child 1225 a546534a48de
child 1248 d4fee22b8cbb
permissions -rw-r--r--
new image for CDK
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>Breakpoints</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>Breakpoints </h2>
cawthron
parents:
diff changeset
    12
<p>  A <b>breakpoint</b> is a marker set on a specific line of source code and is designed to halt program execution when encountered by the debugger. After you set a breakpoint at a key point in the program, you can halt its execution, examine its current state, and check register and variable values. You can also change values and alter the flow of normal program execution. Setting breakpoints helps you debug your program and verify its efficiency.</p>
cawthron
parents:
diff changeset
    13
<p>A project can have multiple breakpoints set in the source code files. All breakpoints  in a project are shown in the <a href="../reference/view_breakpoints.htm">Breakpoints</a> view. Breakpoints are enabled or disabled on the currently selected line within  a source code editor by selecting the <b>Run &gt; Toggle Breakpoint</b> menu option, right-clicking the marker bar in the editor and selecting <b>Toggle Breakpoint</b>, or by pressing <span class="code">CTRL-SHIFT-B</span>.</p>
cawthron
parents:
diff changeset
    14
<p>You can 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. The debugger must load  the symbols for a module before it can attempt to resolve  breakpoints within the module. This is most easily done using the <a href="../reference/view_executables.htm">Executables</a> view to import a binary file, especially if the binary is not in the workspace. </p>
cawthron
parents:
diff changeset
    15
<p>When the debugger attempts to resolve a breakpoint it will result in:</p>
cawthron
parents:
diff changeset
    16
<ul>
cawthron
parents:
diff changeset
    17
  <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
    18
  <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
    19
  <li><b>unresolved</b>  &#8212;  if the symbols for the module  are not loaded or the breakpoint was not able to be set within the current function. This may indicate no executable code in the source line or a deadstripped function  not present in the executable. Breakpoint icon remains in unflagged state indicating unresolved status.</li>
cawthron
parents:
diff changeset
    20
</ul>
cawthron
parents:
diff changeset
    21
<p>Breakpoints have enabled and disabled types as well as resolved and unresolved states. Table 1 explains the different breakpoint types and states.</p>
cawthron
parents:
diff changeset
    22
<h5>Table 1 Breakpoint&mdash;type and states </h5>
cawthron
parents:
diff changeset
    23
<table width="90%"  border="0" cellpadding="2" cellspacing="0">
cawthron
parents:
diff changeset
    24
  <tr>
cawthron
parents:
diff changeset
    25
    <th width="15%" scope="col">Type</th>
cawthron
parents:
diff changeset
    26
    <th width="14%" scope="col">State</th>
cawthron
parents:
diff changeset
    27
    <th width="14%" scope="col">Icon</th>
cawthron
parents:
diff changeset
    28
    <th width="71%" scope="col">Explanation</th>
cawthron
parents:
diff changeset
    29
  </tr>
cawthron
parents:
diff changeset
    30
  <tr>
cawthron
parents:
diff changeset
    31
    <td>Enabled</td>
cawthron
parents:
diff changeset
    32
    <td><div align="center">Unresolved</div></td>
cawthron
parents:
diff changeset
    33
    <td><div align="center"><img src="../tasks/breakpoints/images/breakpoints_enabled_icon.png" width="9" height="10" /></div></td>
cawthron
parents:
diff changeset
    34
    <td>Indicates that the breakpoint is currently enabled but not located in the executable during a debug session. Debugger cannot halt program execution.</td>
cawthron
parents:
diff changeset
    35
  </tr>
cawthron
parents:
diff changeset
    36
  <tr>
cawthron
parents:
diff changeset
    37
    <td>Enabled</td>
cawthron
parents:
diff changeset
    38
    <td><div align="center">Resolved</div></td>
cawthron
parents:
diff changeset
    39
    <td><div align="center"> <img src="../images/icons/breakpoints_enabled_icon.png" width="15" height="12" /></div></td>
cawthron
parents:
diff changeset
    40
    <td>Indicates that the breakpoint is currently enabled and resolved for the source line. The debugger halts program execution at an enabled breakpoint. </td>
cawthron
parents:
diff changeset
    41
  </tr>
cawthron
parents:
diff changeset
    42
  <tr>
cawthron
parents:
diff changeset
    43
    <td>Disabled</td>
cawthron
parents:
diff changeset
    44
    <td><div align="center">Unresolved</div></td>
cawthron
parents:
diff changeset
    45
    <td><div align="center"><img src="../tasks/breakpoints/images/breakpoints_disabled_icon.png" width="12" height="11" /></div></td>
cawthron
parents:
diff changeset
    46
    <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
    47
  </tr>
cawthron
parents:
diff changeset
    48
  <tr>
cawthron
parents:
diff changeset
    49
    <td>Disabled</td>
cawthron
parents:
diff changeset
    50
    <td><div align="center">Resolved</div></td>
cawthron
parents:
diff changeset
    51
    <td><div align="center"><img src="../images/icons/breakpoints_disabled_icon.png" width="15" height="12" /></div></td>
cawthron
parents:
diff changeset
    52
    <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
    53
  </tr>
cawthron
parents:
diff changeset
    54
</table>
cawthron
parents:
diff changeset
    55
<p>Other references </p>
cawthron
parents:
diff changeset
    56
<ul>
cawthron
parents:
diff changeset
    57
  <li><a href="../reference/view_executables.htm">Executables view</a></li>
cawthron
parents:
diff changeset
    58
  <li><a href="../tasks/breakpoints/pgm_bp_setting.htm">Setting Breakpoints</a></li>
cawthron
parents:
diff changeset
    59
  <li><a href="../tasks/breakpoints/pgm_bp_enable.htm">Enabling Breakpoints</a></li>
cawthron
parents:
diff changeset
    60
  <li><a href="../tasks/breakpoints/pgm_bp_disable.htm">Disabling Breakpoints</a></li>
cawthron
parents:
diff changeset
    61
  <li><a href="../tasks/breakpoints/pgm_bp_clearing.htm">Clearing Breakpoints</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
cawthron
parents:
diff changeset
    65
</body>
cawthron
parents:
diff changeset
    66
</html>