公開日: 04/01/2021

デバッガとプロファイルのウィンドウ

デバッガはJMPの新しいインスタンスとして起動します(図4.10)。元のインスタンスは、スクリプトによって何らかの操作を必要とするものが作成されるまで、操作不可能になります。操作の必要なものが作成された場合、ユーザがそれを実行するまで、デバッガウィンドウの方が操作不可能になります。その後、制御が再びデバッガに戻ります。JMPの元のインスタンスでの作業に戻るには、デバッガを閉じなければなりません。

図4.10 デバッガウィンドウ 

Image shown here

デバッガとJSLプロファイルを操作するには、上部にあるボタンを使用します。デバッグまたはプロファイル作成の対象であるスクリプトがタブに表示されます。スクリプトの中に他のスクリプトが含まれているときは、それぞれが新しいタブに表示されます。

デバッガの最下部にあるタブには、変数や名前空間、ログ、現在の実行ポイントを表示するためのオプション、ブレークポイントを操作するためのオプション、および設定オプションがあります。

ヒント: 「デバッガ」にあるタブの長い値を表示あるいは編集するには、その値を右クリックして、[編集]を選択します。コードはスクリプトエディタ内で開くことができます。

実行ボタンの使用

デバッガまたはJSLプロファイル内でスクリプトの実行を制御するには、上部にあるボタンを使用します。

表4.1 デバッガボタンの説明

ボタン

ボタン名

アクション

Image shown here

実行

デバッガ内のスクリプトを、ブレークポイントまたはスクリプトの末尾まで実行します。

スクリプトにエラーがある場合は、ウィンドウの上部に短縮された形式のエラーメッセージが表示されます。[より詳細]をクリックすると、完全なエラーメッセージが表示されます。

Image shown here

ブレークポイントなしで実行

プロファイルの実行

スクリプトを、途中で停止することなく最後まで実行します。

Image shown here

すべて中断

たとえば、非常に長いループを実行しているときなど、スクリプトがビジーであるとき、[すべて中断]をクリックすると、スクリプト内のすべてのアクションが中断されてデバッガまたはJSLプロファイルに戻ります。

実行中のスクリプトが、ダイアログの入力や開いたウィンドウへの操作など、ユーザの操作を待機している場合、デバッガおよびJSLプロファイルは実行を中断できないことがあります。

Image shown here

停止

スクリプトのデバッグを停止し、デバッガまたはJSLプロファイルを終了します。

Image shown here

再開

デバッガの現在のセッションを閉じ、新しいセッションを開きます。

Image shown here

ステップイン

関数内またはインクルードされたファイル内にステップインします。それ以外は、ステップオーバーと同じ働きをします。

Image shown here

ステップオーバー

呼び出された式、関数、またはInclude()ファイルにステップインすることなく、1行のすべての式、または複数行にまたがる複雑な式を実行します。

Image shown here

ステップアウト

現在のスクリプトまたは関数をブレークポイントまたは最後まで実行し、呼び出しポイントまで戻ります。主スクリプトにおいてデバッガが最後まで到達した場合は、「プログラムの実行が終了しました」というメッセージが表示されます。デバッガ自体は開いたままなので、プログラムの最終的な状態を点検することができます。

Image shown here

JSLスクリプトの
プロファイル

JSLプロファイルを開きます。(JSLプロファイルを開始するには、[プロファイルの実行]ボタンを押します。)JSLプロファイルを使うと、特定の行の実行にかかった時間や、特定の行が実行された回数などがわかります。

注:

デバッガとJSLプロファイルの間を自在に切り替えることができるのは、プログラムの開始前のみです。

デバッガのボタンの一部は、プロファイルの実行中は無効になります。

JSLプロファイルモードでは、ブレークポイントがすべて無効になります。

Image shown here

行の実行回数の
プロファイルを表示

各行が何回実行されたかを表示します。

Image shown here

行の処理時間の
プロファイルを表示

行の実行にかかった時間を表示します。

Image shown here

総数でプロファイルを表示

実行回数の場合は、その行が何回実行されたかを表示します。処理時間の場合は、その行が完了するまでにかかったマイクロ秒数(またはミリ秒数、秒数)を表示します。

Image shown here

パーセントでプロファイルを表示

実行回数の場合は、個々の行の実行回数を総数で割った値を表示します。処理時間の場合は、個々の行にかかった時間の割合(行の処理時間÷合計時間×100)を表示します。

Image shown here

時間の単位

時間の単位をマイクロ秒、ミリ秒、秒のいずれかに設定します。JSLプロファイルで[プロファイルの実行]ボタンImage shown hereをクリックすると、使用できるようになります。

Image shown here

カラーテーマ

JSLプロファイルの陰影の色を設定します。JSLプロファイルで[プロファイルの実行]ボタンImage shown hereをクリックすると、使用できるようになります。

変数リスト

デバッガの左下にあるタブでは、グローバル変数やローカル変数、ウォッチ変数、名前空間内の変数が確認できます。

グローバル

[グローバル]タブにはグローバル変数がリストされ、スクリプトの各ステップを実行するにつれて値が更新されます。変数は、初期化の際に追加されます。実行済みのスクリプトによってグローバル変数が定義されている場合は、デバッガの起動時に、それらの変数と現在の値が表示されます。詳細については、変数の確認を参照してください。

ローカル

[ローカル]タブにはすべての変数がスコープ別にリストされ、スクリプトの各ステップを実行するにつれて値が更新されます。メニューからスコープを選択できます。詳細については、変数の確認を参照してください。

ウォッチ

コードの各ステップを実行していく際、値を確認したい変数または式の値がある場合は、ここに追加します。これは、スクリプトで多くの変数を使用していて、[グローバル]や[ローカル]のリスト内で確認するのが難しい場合に特に便利です。詳細については、ウォッチの操作を参照してください。

名前空間

定義された名前空間は、このメニューに追加されます。名前空間を選択すると、名前空間内で使用されている変数とその値が表示されます。変数の確認を参照してください。

クラス

[クラス]タブには、スクリプトの中で定義されているクラスがリストされます。クラスを参照してください。

デバッガオプション

デバッガの右下のタブでは、コールスタックの表示、ブレークポイントの操作、オプションの設定、ログの表示ができます。

コールスタック

コールスタックには、スクリプト内、関数内の現在の実行ポイントがリストされます。主スクリプトは常にリストの最初に表示されます。関数を呼び出すと、その関数は呼び出しスクリプトの上に追加されます。同様に、インクルードされたファイルもリストの一番上に追加されていきます。関数またはスクリプトの実行を終了すると、それがリストから削除され、次の関数またはスクリプトに戻ります。各ステップを実行するに従って、現在の行番号が更新されます。

コールスタック内の行をダブルクリックすると、カーソルがその行に移動します。

ブレークポイント

行に対してブレークポイントを追加、編集、削除したり、無効または有効にしたりできます。詳細については、ブレークポイントの操作を参照してください。[ブレークポイント]タブで行をダブルクリックすると、カーソルがその行に移動します。

データブレークポイント

変数に対してブレークポイントを追加、編集、削除したり、無効または有効にしたりできます。データブレークポイントは、行内の変更を監視するブレークポイントとは異なり、変数内の変更を監視します。

オプション

このタブでは、デバッガの環境設定をインタラクティブに設定できます。詳細については、デバッガでの環境設定の変更を参照してください。

ログ

デバッグ中のスクリプトのログが表示されます。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).