Stepping through an application
When you have stopped execution at a breakpoint, you can use
several commands to step through your application code and use the
views to examine the effect of each statement. As you step through
the code, the debugger views change to reflect the current context
of your application and a yellow arrow cursor indicates the next
statement to be executed.
Updating the Source view
When the context of your application changes to another script,
the Source view is updated with the new context. If you have multiple
Source views open, only the first one opened is updated.
Single-stepping through an application
You can use either Step In or Step Over to step through an
application one statement at a time. They have the same result except
when the next statement contains a call to a function. Use Step
In if you want to step into a function and examine the effects of
each statement in the function. Use Step Over to execute the function
as a single statement.
To step through an application entering functions:
-
Click the Step In button in the PainterBar,
or select Debug>Step In from the menu bar.
To step through an application without entering
functions:
-
Click the Step Over button in the PainterBar,
or select Debug>Step Over from the menu bar.
Using shortcut keys
To make it easier to step through your code, the debugger
has standard keyboard shortcuts for Step In, Step Out, Step Over,
Run To Cursor, and Continue. If you prefer to use different shortcut
key combinations, select Tools>Keyboard Shortcuts to define
your own.
Stepping out of a function
If you step into a function where you do not need to step
into each statement, use Step Out to continue execution until the
function returns.
To step out of a function:
-
Click the Step Out button in the PainterBar,
or select Debug>Step Out from the
menu bar.
Stepping through multiple statements
As you step through an application, you might reach sections
of code that you are not interested in examining closely. The code
might contain a large loop, or it might be well-tested code that
you are confident is free of errors. You can use Run To Cursor to
select a statement further down in a script or in a subsequent script
where you want execution to stop.
To step through multiple statements:
-
Click on the line in the script where you
want to resume single stepping. -
Click the Run To Cursor button in the PainterBar,
or select Debug>Run To Cursor from the menu bar.PowerBuilder executes all intermediate statements and the
yellow arrow cursor displays at the line where you set the cursor.
Bypassing statements
You can use Set Next Statement to bypass a section of code
that contains a bug, or to test part of an application using specific
values for variables. Execution continues from the statement where
you place the cursor. Be cautious when you use Set Next Statement,
because results may be unpredictable if, for example, you skip code
that initializes a variable.
To set the next statement to be executed:
-
Click on the line in the script where you
want to continue execution. -
Click the Set Next Statement button in the PainterBar,
or select
Debug>Set Next Statement from the menu
bar. -
If necessary, change the values of variables.
-
Continue execution using Continue, Step In, or
Step Over.If you select Continue, PowerBuilder begins execution at the
statement you specified and continues to the next breakpoint. If
you select Step In or Step Over, PowerBuilder sets the next statement
and displays the yellow arrow cursor at the line where you set the
cursor.
Changing a variable’s value
As you step through the application, you can change the values
of variables that are in scope. You may want to do this to examine
different flows through the application, to simulate a condition
that is difficult to reach in normal testing, or if you are skipping
code that sets a variable’s value.
Limitations
You cannot change the values of enumerated variables, and
you cannot change the value of any variable when you are debugging
a remote component.
To change the value of a variable:
-
Select the variable in the Variables view
or the Watch view. -
From the pop-up menu, select Edit Variable.
-
Type a value for the variable or select the Null
check box and click OK.The value you enter must conform to the type of the variable.
If the variable is a string, do not enclose the string in quotes.
When you continue execution, the new value is used.
Fixing your code
If you find an error in a script or function during a debugging
session, you must close the debugger before you fix it. After you
have fixed the problem, you can reopen the debugger and run the
application again in debug mode. The breakpoints and watchpoints
set in your last session are still defined.