高度なツールの使用 > スクリプトのデバッグ
 

スクリプトのデバッグ

メモ  この機能は、[環境設定] ダイアログボックスの [一般] タブで [高度なツールを使用する] が選択されている場合に使用できます。高度なツールの使用を参照してください。

スクリプトデバッガは、FileMaker スクリプトをトラブルシューティングするための対話式のツールです。

たとえば、[スクリプト] メニューまたはキーボードショートカットから実行するスクリプトをデバッグ、スクリプトトリガボタン、またはカスタムメニューによってアクティブになっているスクリプトをデバッグ、およびスクリプトデバッガで作業中にスクリプトトリガを一時的に無効/有効にすることができます。

スクリプトをデバッグするには:

1. 次のいずれかの方法で、[スクリプトデバッガ] を有効にします:

[ツール] メニュー > [スクリプトデバッガ] を選択してからスクリプトを実行します。

[スクリプト] メニュー > [スクリプトワークスペース...] を選択し、ご自分のスクリプトを選択して スクリプトまたはデータビューアの認証解除を行うボタンのロックを解除 をクリックします。開いているすべてのスクリプトを保存してスクリプトをデバッグするには、Shift キー (Windows) または option (macOS) を押したまま スクリプトまたはデータビューアの認証解除を行うボタンのロックを解除 をクリックします。

2. スクリプトのデバッグには次のコントロールを使用します:

 

選択項目

目的

ステップオーバー

[スクリプトデバッガ] の [認証/認証解除スクリプト] ボタン

サブスクリプトを表示せずに、スクリプトを一度に 1 ステップずつ実行します。

実行するスクリプトステップが [スクリプト実行] の場合、スクリプトデバッガは、サブスクリプトを実行してから、呼び出し元のスクリプトの次の行に進みます。ブレークポイントに到達するまで、すべてのサブスクリプトのステップが実行されます。

ステップイン

[スクリプトデバッガ] の [認証/認証解除スクリプト] ボタン

一度に 1 ステップを実行し、サブスクリプトのステップも表示します。

実行するスクリプトステップが [スクリプト実行] の場合、スクリプトデバッガは、サブスクリプトの最初の行のステップを実行し、次のサブスクリプトステップに進む前にユーザの入力を待機します。

ステップアウト

ステップオーバーボタン

現在のスクリプト内のすべてのスクリプトステップを実行します。実行するスクリプトがサブスクリプトの場合は、呼び出し元のスクリプトの [スクリプト実行] ステップの直後の行に戻ります。

スクリプトがサブスクリプトでない場合、[ステップアウト] コマンドを使用すると、スクリプトデバッガはブレークポイントに到達するまで、残りのすべてのスクリプトおよびサブスクリプトステップを実行します。

次のステップを設定

ステップインボタン

ステップの実行ポインタを、強調表示されたスクリプトステップに設定します。

このコマンドは、強調表示されたステップに制御を渡しますが、ステップの実行は行いません。スクリプトの実行またはステップのデバッグを再開すると、強調表示されたステップが実行されます。最後に実行されたステップと指定された次のステップの間にあるステップは実行されません。強調表示するステップをクリックし、次に ステップオーバーボタン をクリックします。

実行

ステップアウトボタン

一時停止

次のステップを設定ボタン

スクリプトが終了するまで、またはブレークポイントが現れるまで、すべてのスクリプトステップを実行する動作と、一時停止を切り替えます。スクリプトを一時停止しているときに、[コールスタック] 一覧のスクリプトをダブルクリックすると、編集できます。アクティブなスクリプトは、[スクリプトワークスペース] のタブに別々に表示されるため、複数のスクリプトを編集できます。スクリプトの実行は、変更を保存するまで停止しません。

スクリプトが一時停止されたときに ステップインボタン を使用してスクリプトをステップスルーすることができます。

全スクリプト終了

実行ボタン

スクリプトの実行を停止します。

スクリプトトリガを有効/無効にする

スクリプトまたはデータビューアの認証を行うロックボタン

ファイルのすべてのスクリプトトリガを一時的に無効または有効にします。

スクリプトトリガを無効にるには、[完全アクセス] 権限が必要です。スクリプトトリガはデフォルトで有効です。スクリプトデバッガを閉じると、すべての無効のスクリプトトリガが有効になります。

スクリプトの編集

一時停止ボタン

現在のスクリプトを [スクリプトを編集] ダイアログボックスで開きます。スクリプト実行中にスクリプトを変更することができますが、スクリプトへの変更を保存すると実行は停止します。

データビューアを開く/閉じる

スクリプトデバッガのステップインボタン

データビューアウインドウを開閉し、指定したフィールド、変数、計算式を監視できます。データビューアの使用を参照してください。

スクリプトの認証/認証解除

全スクリプト終了ボタン スクリプトの編集ボタン

変更の権限を許可しないスクリプトに対するスクリプトデバッガまたはデータビューアのロックを解除します。

スクリプトを認証するには、[完全アクセス] 権限が必要です。高レベルの権限はすべてのスクリプトに適用されますが、他のファイル要素 (レコードやレイアウトなど) には適用されません。編集権限は、スクリプトデバッガおよびデータビューア両方を閉じるまで持続します。

3. エラー発生時にスクリプトを休止する場合、[エラー時に一時停止] を選択します。

サブスクリプトの表示

スクリプトデバッガでスクリプトを実行すると、サブスクリプトを表示できます。たとえば、スクリプト A がスクリプト B を呼び出し、スクリプト B がスクリプト C を呼び出す場合、3 つのスクリプトすべてでステップを表示できます。

1. [ツール] メニュー > [スクリプトデバッガ] を選択します。

2. サブスクリプトを呼び出すスクリプトステップを実行します。

3. [ステップイン] をクリックします。

[コールスタック] 一覧に、サブスクリプトが表示されます。

4. [コールスタック] 一覧でスクリプトを選択し、表示領域にスクリプトのステップを表示します。

メモ 

ブレークポイントを設定またはクリアするには、スクリプトステップ左側の番号をクリックしてください。ブレークポイントによって、スクリプトデバッガはスクリプトの大きいセクションを実行でき、ブレークポイントでマークされたセクションのみを調べるために一時停止します。スクリプトデバッガを使用していない場合、FileMaker Pro Advanced では、ブレークポイントは無視されます。ブレークポイントは、複数のステップで設定できます。ボタンまたはカスタムメニューで呼び出したステップは、ブレークポイントを設定できません。

適切なスクリプトのデバッグを効率的に実行するため、スクリプトデバッガでは、一部のスクリプトステップは無視されます。[ユーザによる強制終了を許可] スクリプトステップでオプションが [オフ] に設定されていても、スクリプトの実行を停止することはできません。また、[ウインドウの調整] スクリプトステップのオプションが [隠す] または [最小化] に設定されていても、[スクリプトデバッガ] の [認証/認証解除スクリプト] ボタン または [スクリプトデバッガ] の [認証/認証解除スクリプト] ボタン ボタンを使用してそのスクリプトステップに到達したときに、ウインドウは非表示または最小表示になりません。

アクセス権が [変更可能] に設定されているスクリプトで [実行のみ可能] アクセスのスクリプトを実行する場合、[実行のみ可能] のスクリプトは実行されますが、スクリプトデバッガにステップは表示されません。[実行のみ可能] のスクリプトで、アクセス権が [変更可能] に設定されているスクリプトを実行する場合、スクリプトデバッガには [変更可能] のスクリプトのステップのみが表示されます。スクリプトを編集するには、スクリプトデバッガで ロックボタン をクリックします。スクリプトのアクセス権および完全アクセスで実行されるスクリプトの詳細については、スクリプトアクセス権の編集を参照してください。

ロックボタン をクリックした後でデータビューアを開くと、アクセス権はスクリプトデバッガを閉じるまで、データビューアとスクリプトデバッガの両方で維持されます。

データベースファイルを開く前にスクリプトデバッガを開き、起動スクリプトをデバッグできます。

スクリプトが一時停止している間にスクリプトデバッガを閉じると、スクリプトが再開し実行を続けます。

関連項目 

スクリプトの作成と編集