例で使っているスクリプトは「Samples¥Scripts」フォルダにあります。
1.
|
「string.jsl」サンプルスクリプトを開き、[スクリプトのデバッグ]ボタンをクリックします。
|
これにより、For()ループの中の次の式にブレークポイントが設定されます。
stringFunction(i);
図4.11 ブレークポイントの設定
3.
|
[実行]をクリックします。
|
–
|
stringFunctionは関数として定義されます。
|
–
|
strは空の文字列として定義されます。
|
–
|
iに0が割り当てられました。
|
–
|
iが、その値とタイプとともに[グローバル]リストに追加されました。
|
–
|
iは9以下であると判断されました。
|
–
|
stringFunction()はまだ呼び出されていません。
|
図4.12 開始時のグローバル変数
ヒント: デバッガに入る前にスクリプトを一度実行したため、iの初期値は10です。スクリプトを実行した後のiの値が(10)と表示されています。スクリプト実行前の値を表示するには、JMPの新しいインスタンスを起動し、スクリプトを開いて実行しないまま、デバッガを起動してください。
4.
|
もう一度[実行]をクリックします。
|
–
|
stringFunction()が呼び出され、評価され、その後、ループに戻りました。
|
–
|
iがインクリメントされ、9以下であると判断されました。
|
–
|
図4.13 1回目のブレークポイントでのグローバル変数
5.
|
もう一度[実行]をクリックします。
|
–
|
stringFunction()が呼び出され、評価され、その後、ループに戻りました。
|
–
|
iがインクリメントされ、9以下であると判断されました。
|
図4.14 2回目のブレークポイントでのグローバル変数
1.
|
「scriptDriver.jsl」サンプルスクリプトを開き、[スクリプトのデバッグ]ボタンをクリックします。
|
3.
|
[ステップオーバー]をクリックします。
|
4.
|
[ステップオーバー]をもう一度クリックします。
|
5.
|
[ステップオーバー]をもう一度クリックします。
|
6.
|
[ステップオーバー]をクリックします。
|
7.
|
式が終了するまで[ステップオーバー]をクリックし続けます。
|
8.
|
[ステップオーバー]をクリックし、ステップインせずに関数を実行します。デバッガは関数全体を実行した後、関数の呼び出しに続く行に戻ります。
|
9.
|
[ステップイン]をクリックします。
|
10.
|
[ステップオーバー]をクリックします。
|
11.
|
[ステップアウト]をクリックします。
|
デバッガはインクルードされたスクリプトの残りを実行した後、Include()関数の次の行に戻ります。
1.
|
「scoping.jsl」サンプルスクリプトを開き、[スクリプトのデバッグ]ボタンをクリックします。
|
2.
|
[ステップオーバー]をクリックします。
|
1行目(行番号4)はNames Default To Hereをオフにします。このスクリプトを同じJMPセッションの中でもう一度実行した場合、この行はスコープをリセットし、最初に作成された変数をグローバルスコープに置きます。
3.
|
[ステップオーバー]をクリックします。
|
xという名前のグローバル変数が作成されます。[グローバル]タブのリストにxが追加され、値が5、タイプが数値であることが示されます。
4.
|
[ローカル]タブを選択し、スコープのリストから[Global]を選択します。
|
グローバル変数のxがここにも表示されます。
5.
|
[ステップオーバー]を2回クリックします。
|
Names Default To Hereがオンになり、スクリプトの残りがHereスコープ内に置かれます。その後、そのスコープ内に新しい変数xが作成されます。
グローバル変数xの値は変わらないことに注意してください。
6.
|
[ローカル]タブのリストから[Here]を選択します。
|
[Here]の下に、ローカル変数xがその値やタイプとともにリストされます。
7.
|
[ステップオーバー]をクリックします。
|
Local Hereスコープが作成されます。[ローカル]のリストに2つ目のHereスコープが表示されます。
8.
|
[ステップオーバー]をクリックします。
|
9.
|
[ステップオーバー]をクリックします。
|
デバッガのログで出力を確認します。here:xスコープはローカルのhereを示し、スクリプトウィンドウのhereを示すものではありません。
10.
|
[ステップオーバー]をクリックします。
|
スクリプトは、ログに空の1行を挿入した後、Local Hereスコープを終了します。2つ目のHereが、そのx変数とともに[ローカル]リストから消えます。
11.
|
[ステップオーバー]をクリックします。
|
12.
|
[ステップオーバー]をクリックし、ログを確認します。
|
13.
|
[ステップオーバー]をクリックし、デバッガを終了します。
|
1.
|
「interactive.jsl」サンプルスクリプトを開き、[スクリプトのデバッグ]ボタンをクリックします。
|
2.
|
[ステップオーバー]を2回クリックします。
|
New Window式が評価された後、モーダルウィンドウが開いて入力を待ちます。デバッガを移動しないと新しいモーダルウィンドウが見えないことがあります。
3.
|
「Assign X and Y」ウィンドウに2つの数値を入力し、[OK]をクリックします。
|
4.
|
[ステップオーバー]を3回クリックし、デバッガのログを確認します。
|
5.
|
[ステップイン]をクリックし、デバッガを終了します。
|
1.
|
「string.jsl」サンプルスクリプトを開きます。
|
2.
|
[スクリプトのデバッグ]ボタンをクリックします。
|
3.
|
[JSLスクリプトのプロファイル]ボタンをクリックします。
|
図4.15 開始時のJSLプロファイルウィンドウ
4.
|
[実行]ボタンをクリックしてプロファイルを開始します。
|
図4.16 スクリプトのプロファイル
左側の余白に、指定した統計量が表示されます。デフォルトでは、処理時間のパーセントが表示されます。代わりにステートメントの実行回数のパーセントを表示するには、[総数でプロファイルを表示]ボタンをクリックします。左側の余白に表示される値は、色分けされているため、パフォーマンスの問題を引き起こしている可能性のある部分が一目で特定できます。