Tip: Make sure that Show Line Numbers is selected on the Debugger Options tab before proceeding.
1.
Open the string.jsl sample script and click the Debug Script button.
stringFunction(i);
Set the Breakpoint
3.
Click Run.
stringFunction is defined as a function.
str is defined as an empty string.
Both variables and their types and values have been added to the Globals list. In addition, the For() loop has been evaluated up to the line with the breakpoint, shown in Set the Breakpoint.
i has been assigned to 0.
i and its value and type have been added to the Globals list.
i has been determined to be less than or equal to 9.
stringFunction() has not yet been called.
View the Initial Global Variables
4.
Click Run again.
stringFunction() is called, evaluated, and returns to the loop.
i is incremented and determined to be less than or equal to 9.
In the Globals list, i is now 1 and str is now “0”.
Global Variables at First Breakpoint
5.
Click Run again.
stringFunction() is called, evaluated, and returns to the loop.
i is incremented and determined to be less than or equal to 9.
In the Globals list, i is now 2, and str is now “01”.
Global Variables at Second Breakpoint
You can continue to click Run and watch i and str change with each iteration of the loop. Or, click Run without breakpoints to complete running the script and exit the Debugger.
Step Into, Step Over, and Step Out offer flexibility when your script contains expressions, functions, or includes other JSL files.
1.
Open the scriptDriver.jsl sample script and click the Debug Script button.
3.
Click Step Over.
4.
Click Step Over again.
5.
Click Step Over again.
6.
Click Step Over.
7.
Continue clicking Step Over until the expression ends.
8.
Click Step Over to run the function without stepping into it. The Debugger runs the entire function, and returns to the line following the function call.
9.
Click Step Into.
10.
Click Step Over.
11.
Click Step Out.
1.
Open the scoping.jsl sample script and click the Debug Script button.
2.
Click Step Over.
The fourth line turns off Names Default To Here. If you run this script again in the same JMP session, this line resets the scoping so that the first variable that is created is in the global scope.
3.
Click Step Over.
A global variable named x is created. On the Globals tab, x has been added to the list, showing its value as 5 and its type as number.
4.
Select the Locals tab, and then select Global from the list of scopes.
The global variable x is also shown here.
5.
Click Step Over twice.
Names Default To Here is turned on, which places the rest of the script into a Here scope. Then a new variable x is created in that scope.
6.
Select Here from the list on the Locals tab.
The local x is listed under Here, with its value and type.
7.
Click Step Over.
A Local Here scope is created. A second Here scope is shown in the Locals list.
8.
Click Step Over.
A new x variable is created in this Here scope. On the Locals tab, select each of the three scopes from the list (Here, Here, and Global) to see three different x variables.
9.
Click Step Over.
Look in the Debugger’s log to see the output. Notice that here:x scopes to the local here, not the script window’s here.
10.
Click Step Over.
11.
Click Step Over.
12.
Click Step Over and look at the log.
13.
Click Step Over to exit the Debugger.
1.
Open the interactive.jsl sample script and click the Debug Script button.
2.
Click Step Over twice.
The New Window expression is evaluated, and a modal window waiting for input is created. You might need to move the Debugger window to see the new modal window.
4.
Click Step Over three times and look at the log in the Debugger.
5.
Click Step Into to exit the Debugger.
1.
Open the string.jsl sample script.
2.
Click the Debug Script button .
3.
Click the Profile JSL Script button .
Initial JSL Profiler Window
4.
Click the Run button to start profiling.
Profiled Script Window
In the left margin, the selected statistics are displayed. Percent of time is displayed by default. Click the Show Profile by Count button to switch to percent of statement counts instead. The left margin is color-coded to allow for quick identification of problematic performance areas.