Next Previous Up Top Contents Index

6.2 Debugger panes

6.2.3 Source pane

The debugger's source pane shows a source code definition for the method or function that created the call frame that is currently selected in the stack pane.

A text field above the source pane shows the location on disk of the source file containing the definition. If you click the Edit Source () button, Functional Developer opens the source file in an editor window, with the insertion point placed at the start of the definition.

If the debugger cannot locate the source code for the method or function that created the selected call frame, or if you select a local variable or the backtrace's root node, the debugger leaves the source pane empty, writes "No source available" in the field above the source pane, and makes the Edit Source button unavailable.

The source pane shows the same green arrow () seen in the stack pane. This current location arrow shows the point to which execution within that call frame had proceeded before the application was paused. (Thus the current location arrow that you see in the source pane for the top-most call frame in the stack pane is the most accurate depiction of the point at which execution was paused.)

Often, the arrow is located at a point where a function has called another function that has not yet returned, or at the point at which execution will resume when a function returns.

Figure 6.4 The current location arrow in the debugger's source pane.

The line at which the arrow is located is not always precisely correct, because optimizations carried out by the compiler may have produced object code that does not correspond to the source code in a way that can be easily depicted in this pane. The chance of imprecision is increased when compiling a project in Production mode.

In our example, the arrow appears at the start of the definition of the play-reversi method. This shows that execution paused at the beginning of the execution of play-reversi.


Getting Started with Functional Developer - 31 MAR 2000

Next Previous Up Top Contents Index