# HG changeset patch # User Ed Swartz # Date 1278948779 18000 # Node ID 231c47d08fe4651e708f8c90e54c9b629508b1ba # Parent 36d484a2e6801ff3b1581f3e6c3c5f934de0f5c1# Parent 40a2929cde0dc41e59e5b7669d51dc7c646d9dd1 Merge commit diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/book.css --- a/core/com.nokia.carbide.cpp.doc.user/book.css Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/book.css Mon Jul 12 10:32:59 2010 -0500 @@ -1,5 +1,5 @@ /* - Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.eclipse.org/legal/epl-v10.html */ @@ -10,7 +10,7 @@ } /* 20091007 added verdana and ariel to list to match SFO website fonts choices */ -body, p, table { +body, p, table, li { font-family: Verdana, Ariel, Helvetica, sans-serif; font-size: 1.0em; font-weight: normal; diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/concepts/breakpoints.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/concepts/breakpoints.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/breakpoints.htm Mon Jul 12 10:32:59 2010 -0500 @@ -1,66 +1,66 @@ - - - - - - -Breakpoints - - - -

Breakpoints

-

A breakpoint 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.

-

A project can have multiple breakpoints set in the source code files. All breakpoints in a project are shown in the Breakpoints view. Breakpoints are enabled or disabled on the currently selected line within a source code editor by selecting the Run > Toggle Breakpoint menu option, right-clicking the marker bar in the editor and selecting Toggle Breakpoint, or by pressing CTRL-SHIFT-B.

-

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 Executables view to import a binary file, especially if the binary is not in the workspace.

-

When the debugger attempts to resolve a breakpoint it will result in:

- -

Breakpoints have enabled and disabled types as well as resolved and unresolved states. Table 1 explains the different breakpoint types and states.

-
Table 1 Breakpoint—type and states
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeStateIconExplanation
Enabled
Unresolved
Indicates that the breakpoint is currently enabled but not located in the executable during a debug session. Debugger cannot halt program execution.
Enabled
Resolved
Indicates that the breakpoint is currently enabled and resolved for the source line. The debugger halts program execution at an enabled breakpoint.
Disabled
Unresolved
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.
Disabled
Resolved
Indicates that the breakpoint is currently disabled and resolved for the source line. The debugger does not halt program execution at a disabled breakpoint.
-

Other references

- - - - - + + + + + + +Breakpoints Overview + + + +

Breakpoints Overview

+

A breakpoint 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.

+

A project can have multiple breakpoints set in the source code files. All breakpoints in a project are shown in the Breakpoints view. Breakpoints are enabled or disabled on the currently selected line within a source code editor by selecting the Run > Toggle Breakpoint menu option, right-clicking the marker bar in the editor and selecting Toggle Breakpoint, or by pressing CTRL-SHIFT-B.

+

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 Executables view to import a binary file, especially if the binary is not in the workspace.

+

When the debugger attempts to resolve a breakpoint it will result in:

+ +

Breakpoints have enabled and disabled types as well as resolved and unresolved states. Table 1 explains the different breakpoint types and states.

+
Table 1 Breakpoint—type and states
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeStateIconExplanation
Enabled
Unresolved
Indicates that the breakpoint is currently enabled but not located in the executable during a debug session. Debugger cannot halt program execution.
Enabled
Resolved
Indicates that the breakpoint is currently enabled and resolved for the source line. The debugger halts program execution at an enabled breakpoint.
Disabled
Unresolved
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.
Disabled
Resolved
Indicates that the breakpoint is currently disabled and resolved for the source line. The debugger does not halt program execution at a disabled breakpoint.
+

Other references

+ + + + + diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/eclipse_dialogs_help.xml Mon Jul 12 10:32:59 2010 -0500 @@ -20,8 +20,12 @@ The Debug view shows the target debugging information in a tree hierarchy. - - + + + + + + @@ -29,9 +33,8 @@ Use the Variables view to manipulate the variables or variable hierarchy used in source code. - - - + + @@ -39,8 +42,10 @@ Use the Breakpoints view to examine, enable or disable the breakpoints in one or more build configurations. - - + + + + @@ -48,10 +53,18 @@ Use the Expressions view to monitor and manipulate variables, structures, and arrays. - - - - + + + + + + + + + + Find elements in view. + + @@ -280,6 +293,7 @@ + Select the project, class, or file to create. @@ -290,11 +304,10 @@ + Select the type of file to import for debugging. - - @@ -306,8 +319,8 @@ - Use the Console view to show the output of a process and provide keyboard input to a process. - + + diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/icon_add.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/icon_add.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_vew_expressions_01.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_vew_expressions_01.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_vew_expressions_02.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_vew_expressions_02.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_view_variables_01.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_view_variables_01.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_view_variables_02.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/menu_view_variables_02.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/view_expressions.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/view_expressions.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/view_variables.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/view_variables.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_add_watch_expr.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_add_watch_expr.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_add_watchpoint.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_add_watchpoint.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_cast_to_type.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_cast_to_type.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_display_as_array.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_display_as_array.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_find_expressions.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_find_expressions.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_find_variables.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_find_variables.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_global_variables.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_global_variables.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_set_value.png Binary file core/com.nokia.carbide.cpp.doc.user/html/debugger/images/wnd_set_value.png has changed diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/adding_variables.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/adding_variables.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/adding_variables.htm Mon Jul 12 10:32:59 2010 -0500 @@ -1,24 +1,23 @@ - - - - - - -Adding and Removing Global Variables - - - -

Adding and Removing Global Variables

-

The Variables view can also display global variables used by the program. Right-click in the Variables view and select the Add Global Variables menu option to open the Global Variables dialog. There you can select one or more global variables to display in the Variables view, clickiing OK when done.

-

-

Figure 1 - Global Variables selection dialog

-

 

-

Removing Global Variables

-

Right-click in the Variables view and select the Add Global Variables menu option to open the Global Variables dialog. Locate and uncheckmark the global variable to stop displaying, then click OK. This removes the selected global variable from the variables list.

-
Other references
- - - - + + + + + + +Adding and Removing Global Variables + + + +

Adding and Removing Global Variables

+

The Variables view can also display global variables used by the program. Right-click in the Variables view and select the Add Global Variables menu option to open the Global Variables dialog. There you can select one or more global variables to display in the Variables view, clickiing OK when done.

+

Global Variables window

+

Figure 1 - Global Variables selection dialog

+

Removing Global Variables

+

Right-click in the Variables view and select the Add Global Variables menu option to open the Global Variables dialog. Locate and uncheckmark the global variable to stop displaying, then click OK. This removes the selected global variable from the variables list.

+
Other references
+ + + + diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_expressions.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_expressions.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_expressions.htm Mon Jul 12 10:32:59 2010 -0500 @@ -20,20 +20,20 @@
  • Expressions list pane—Lists expressions and expression hierarchies. Click the hierarchical controls to expand or collapse the expression. Right-click to open the Expressions view context menu.
  • Value pane—Shows the current value of each corresponding expression. Double-click a value to change it. Right-click to set viewing options.
  • -

    +

    Figure 1 - Expressions view

    Expressions view toolbar icons

    The following commands appear on the Expressions view toolbar:

    - - - + + + - + @@ -46,6 +46,12 @@ + + + + + @@ -55,10 +61,16 @@ + + + + +
    ItemIconsExplanationItemIconsExplanation
    Show Type Names
    Toggles the display of type names in the Expressions view. Toggles the display of type names in the Expressions view.
    Show Logical Structure Collapses all expanded expressions into the top level.
    Create a New Watch Expression
    Add New Watch Expression icon

    Click to open the Add New Expression dialog. Enter the expression to add, then click OK.

    +

    Add Watch Expression window

    Remove Selected Expression
    Click to remove all currently selected expressions from the expressions list.
    Click to remove all expressions from the expressions list.
    View Menu
    View menu

    Click the View Menu icon to set the layout of the Expressions view.

    +

    View menu

    Expressions view context menu options

    Right-click in the Expression's pane in the Expressions view to access the context menu commands shown in Figure 2.

    -

    +

    Expressions view context menu

    Figure 2. Expressions view context menu commands (Expression list pane)

    The commands include:

    @@ -68,33 +80,35 @@ - + - + - + - + - + +

    - + @@ -109,8 +123,32 @@ - - + + + + + + + + + + + + + + + + + +
    Select AllSelects all the expressions shown in the Expressions view.Selects all the expressions shown in the Expressions view.
    Copy ExpressionsCopies the selected expressions to the clipboard.

    Copies the selected expressions to the clipboard.

    +

    NOTE Only the selected expressions visible in the Expressions view are copied. Expressions listed outside the boundary of the view are not in memory and can't be copied at this time.

    RemoveRemove the selected expressions from the Expressions view list.

    Remove the selected expressions from the Expressions view list.

    +
    Remove AllRemove all expressions from the Expressions view list.Remove all expressions from the Expressions view list.
    Find...Opens a Find dialog to search the Expressions view list.

    Opens a Find dialog to search the Expressions view list. Enter the expression to search for and click OK.

    +

    Find Expressions dialog

    Change Value...

    Opens the Set Value dialog where you can modify the value assigned to the selected expressions. Change the value and click OK.

    -

    Add Watch Expression...

    Opens the Add Watch Exression dialog for creation of a new expression.

    -

    Opens the Add Watch Exression dialog for creation of a new expression.

    DisableOpens the Edit Watch Expression dialog where you can modify the expression and enable it for automatic evaluation.
    Reevaluate Watch ExpressionForces the expression to be reevaluated. Useful after the expressions has been edited or not evaluated due to being disabled.Add Watchpoint (C/C++)...

    Opens the Add Watchpoint dialog enabling you to define a watchpoint on the variable.

    +

    Add Watchpoint window

    Cast To Type...

    Opens the Cast to Type dialog where you can assign a new type to the expression. Enter the type and click OK.

    +

    All cast expressions are then shown using the Restore Original Type menu option making them easy to identify and restore later.

    Display As Array...Opens the Display as Array dialog where you can set array parameters to show the variables. Enter the Start index and Length, then click OK to update how the variables are shown in the Variables view.
    Format

    Change the selected variable's display format. The default setting is Natural, or the format assigned when the variable is defined. For example, the decimal value of 256 would appear as:

    +
      +
    • Binary (0b100000)
    • +
    • Natural (256)
    • +
    • Decimal (256)
    • +
    • Hexadecimal (0x100)
    • +
    WatchCreates a watchpoint on the selected variable and displays it in the Watchpoint view.
    Other references
    diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_variables.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_variables.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/variables/viewing_variables.htm Mon Jul 12 10:32:59 2010 -0500 @@ -11,7 +11,7 @@

    Viewing Variables

    The Variables view allows manipulation of project variables and the variable hierarchy used in the source code. For example, you can change the variable format, change a variable value, add watch expressions, or add global variables.

    Figure 1 shows the Variables view with Show Type Names option enabled. The default view shows the variables list and include the Name and Value for all the variables within scope. In addition, when you select a variable its value is also shown in a different pane within the view.

    -

    +

    Figure 1 - Variables view

    Variables view toolbar icons

    The following commands appear on the Variables view toolbar:

    @@ -52,15 +52,16 @@ Click to remove all global variables from the variables list. - Menu + View Menu
    -

    Enables you to modifiy the Layout to change the view orientation between: horizontal, vertical, or variables pane only.

    +

    Enables you to modifiy the Layout to change the view orientation between: horizontal, vertical, or variables pane only and customize the columns shown in the view.

    +

    View menu

    In addition, use Show All Variables to toggle between showing only those variables that are in scope and live or show all local variables, even if redundant. With this option on you will see all of the variables including the multiple defined variables like “i” for your loops and ones that may no longer have accurate values.

    Variables view context menu options

    Right-click in the Variables view to access the commands on the Variables view context menu.

    -

    +

    Variables view context menu

    Figure 2. Variables view context menu commands

    The commands include:

    @@ -74,7 +75,8 @@ - + @@ -85,60 +87,62 @@ - - + + - - - - - - + + - + + + + + - + +

    + + + + + + + + + + + + - - - - - - - - - + - - - - - + - - - -
    Copy VariablesCopies the selected variables to the clipboard.

    Copies the selected variables to the clipboard.

    +

    NOTE Only the selected variables visible in the Variables view are copied. Variables listed outside the boundary of the view are not in memory and can't be copied at this time.

    EnableDisables the selected variable.
    Display as Array... Cast To Type...

    Opens the Cast to Type dialog where you can assign a new type to the variable. Enter the type and click OK.

    +

    All cast variables are then shown using the Restore Original Type menu option making them easy to identify and restore later.

    +

    Cast To Type window

    +
    Cast To Type...Opens the Cast to Type dialog where you can assign a new type to the variable.

    Restore Original Type

    Resets the selected variable to the original type assigned by the program.Display As Array...

    Opens the Display as Array dialog where you can set array parameters to show the variables. Enter the Start index and Length, then click OK to update how the variables are shown in the Variables view.

    +

    Display as Array

    View MemoryOpens a Memory view on the selected variable so you can examine it.Opens a Memory view on the selected variable so you can examine it.
    Format

    Change the selected variable's display format. The default setting is Natural, or the format assigned when the variable is defined. For example, the decimal value of 256 would appear as:

    +
      +
    • Binary (0b100000)
    • +
    • Natural (256)
    • +
    • Decimal (256)
    • +
    • Hexadecimal (0x100)
    • +
    Find...Opens a Find dialog to search for variables.

    Opens a Find dialog to search for variables. Enter the variable to search for and click OK.

    +

    Find window

    Change Value...

    Opens the Set Value dialog where you can modify the value assigned to the selected variable. Change the value and click OK.

    -

    Add Global Variables...Select to open the Global Variables dialog where you can select one or more global variables to display in the Variables view. Global variables appear at the top of the variables list.
    Remove Global VariablesRemove the selected global variables from the Variables view.
    Remove All Global VariablesRemove all global variables from the Variables view.
    Add Watchpoint (C/C++)...Opens the Add Watchpoint dialog enabling you to define a watchpoint on the variable.
    Add Global Variables...Select to open the Global Variables dialog where you can select one or more global variables to display in the Variables view. Global variables appear at the top of the variables list.
    Remove Global VariablesRemove the selected global variables from the Variables view.

    Opens the Add Watchpoint dialog enabling you to define a watchpoint on the variable.

    +

    Add Watchpoint window

    Remove All Global VariablesRemove all global variables from the Variables view.
    Create Watch Expression Watch Creates a watchpoint on the selected variable and displays it in the Watchpoint view.
    Format

    Change the selected variable's display format. The default setting is Natural, or the format assigned when the variable is defined. For example, the decimal value of 256 would appear as:

    -
      -
    • Binary (0b100000)
    • -
    • Natural (256)
    • -
    • Decimal (256)
    • -
    • Hexadecimal (0x100)
    • -
    Other references
      diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/setting_watchpoints.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/setting_watchpoints.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/setting_watchpoints.htm Mon Jul 12 10:32:59 2010 -0500 @@ -12,7 +12,7 @@

      You create a watchpoint to monitor a value in a specified memory location. The debugger halts program execution on the line of source code that triggered the watchpoint. This is different than a breakpoint, which halts program execution prior to executing the line of source code on which the breakpoint is set.

      Setting watchpoints

      Right-click in the Breakpoints view and choose the Add Watchpoint (C/C++)... command to open the Add Watchpoint window. A watchpoint suspends program execution when the memory location that you specify is accessed with a write or read operation and it's based on the access setting. Use the Add Watchpoint window to specify the memory location, its memory size, unit size, and define whether the watchpoint triggers on a read, write, or on both operations. Watchpoints can also be added directly in the Variables, Outline, and the Memory Rendering views.

      -

      +

      Figure 1. Add Watchpoint window

      Table 1. Add Watchpoint options
      diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/status_watchpoints.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/status_watchpoints.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/status_watchpoints.htm Mon Jul 12 10:32:59 2010 -0500 @@ -14,7 +14,7 @@
      • An enabled watchpoint has a non-gray icon () indicating that program execution halts when encountered.
      • A disabled watchpoint displays a gray icon () indicating that program execution will not stop when encountered.
      • -
      • A resolved watchpoint has a small checkmark badge ( ) indicating that the debugger has located it in memory during program launch. When resolved, the debugger can halt program execution if the watchpoint is encountered.
      • +
      • A resolved watchpoint has a small checkmark badge () indicating that the debugger has located it in memory during program launch. When resolved, the debugger can halt program execution if the watchpoint is encountered.

      In effect, a watchpoint that is enabled by the user and resolved by the debugger during program launch can halt program execution. The table below shows the various states that cause the debugger to halt program execution:

      Table 1 Watchpoint—stop execution chart
      diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/debugger/watchpoints/watchpoints.htm Mon Jul 12 10:32:59 2010 -0500 @@ -5,16 +5,16 @@ Watchpoints Overview - +

      Watchpoints Overview

      Use watchpoints (sometimes referred to as access breakpoints) to halt program execution when a specific global location is accessed. After you set a watchpoint at a key point in memory, you can halt program execution whenever that point in memory is written to or read from. You can then examine the call chain, check register and variable values, and step through your code. You can also change values and alter the flow of normal program execution.

      A watchpoint must be both enabled and resolved during a debug session in order to halt program execution. The Breakpoints view indicates the status of any watchpoint using a set of common icons and checkmark status badge. These include:

        -
      • An enabled watchpoint has a non-gray icon () indicating that program execution halts when encountered.
      • -
      • A disabled watchpoint displays a gray icon () indicating that program execution will not stop when encountered.
      • -
      • A resolved watchpoint has a small checkmark badge ( ) indicating that the debugger has located it in memory during program launch. When resolved, the debugger can halt program execution if the watchpoint is encountered.
      • +
      • An enabled watchpoint has a non-gray icon () indicating that program execution halts when encountered.
      • +
      • A disabled watchpoint displays a gray icon () indicating that program execution will not stop when encountered.
      • +
      • A resolved watchpoint has a small checkmark badge (Read Write resolved) indicating that the debugger has located it in memory during program launch. When resolved, the debugger can halt program execution if the watchpoint is encountered.

      In effect, a watchpoint that is enabled by the user and resolved by the debugger during program launch can halt program execution. The table below shows the various states that cause the debugger to halt program execution:

      Table 1 Watchpoint—stop execution chart
      @@ -57,39 +57,39 @@ - + - + - + - + - + - + diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/html/reference/view_memory_wnd.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/view_memory_wnd.htm Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/view_memory_wnd.htm Mon Jul 12 10:32:59 2010 -0500 @@ -4,11 +4,11 @@ -Memory View +Memory view -

      Memory View

      +

      Memory view

      Use the Memory view to inspect and change process memory. You can address memory using expressions such as:

      • 0x0847d3c
      • diff -r 36d484a2e680 -r 231c47d08fe4 core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml --- a/core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml Mon Jul 12 10:32:25 2010 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml Mon Jul 12 10:32:59 2010 -0500 @@ -28,25 +28,6 @@ - - - Complete Carbide performance improvements are explained under the notes for Carbide.c++ 2.1. - - - - - - See Symbian API Reference information appear when you hover over a Symbian symbol in C/C++ editors. - - diff -r 36d484a2e680 -r 231c47d08fe4 debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Mon Jul 12 10:32:25 2010 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Mon Jul 12 10:32:59 2010 -0500 @@ -417,8 +417,15 @@ // removeLastSegments(2) will strip the filename and 'urel', 'udeb' or 'lib' IPath launchExeTargetPath = new Path(new File(launchExeName).getCanonicalPath()).removeLastSegments(2); for (Executable executable : ExecutablesManager.getExecutablesManager().getExecutables(true)) { - IPath exePath = executable.getPath(); - if (launchExeTargetPath.isPrefixOf(exePath)) + IPath exePath = executable.getPath(); + // remove last two segments here also (ignore urel, udeb, lib on executables) + // this is so we can match down to the compiler but not beyond: + // y:\epoc32\release\armv5.\... (for a variant build in raptor) will match + // y:\epco32\release\armv5\... for a non-variant built executable + IPath exePathShort = exePath.removeLastSegments(2); + String sLaunchExeTargetPath = launchExeTargetPath.toOSString(); + String sExePath = exePathShort.toOSString(); + if (sExePath.startsWith(sLaunchExeTargetPath) || sLaunchExeTargetPath.startsWith(sExePath)) files.add(new ExeFileToDebug(exePath.toOSString(), true)); } } catch (Exception e) {
      Write enabled

      The watchpoint is activated for write access operations on the specific memory location and if resolved, will halt program execution on a write operation at the watchpoint.

      disabled

      Watchpoint is disabled for the source line, debugger does not halt program execution on a write operation.

      Read enabled

      The watchpoint is activated for read access operations on the specific memory location and if resolved, will halt program execution on a read operation at the watchpoint.

      disabled

      Watchpoint is disabled for the source line, debugger does not halt program execution on a read operation.

      Write/Read enabled

      The watchpoint is activated for both read and write access operations on the specific memory location and if resolved, will halt program execution on any read or write operation at the watchpoint.

      disabled

      Watchpoint is disabled for the source line, debugger does not halt program execution on a read or write operation.