FileMakerで開発をしていて、「どこで処理が止まっているのか分からない」「フィールドの中身が思った通りに変わっていない」といった悩みはよくあります。こうしたときに頼りになるのが「スクリプトデバッガ」と「データビューア」です。これらの機能を使いこなせると、トラブルの原因を素早く見つけ、安心してスクリプトを組むことができるようになります。
この記事では、専門用語をできるだけ避けながら、FileMaker Proに標準搭載されているスクリプトデバッガとデータビューアの基本的な使い方を解説します。
スクリプトデバッガとデータビューアとは?
まずは役割をシンプルに整理しておきましょう。
- スクリプトデバッガ:スクリプトの動きを1ステップずつ追いかけて確認できる画面。どのステップで何が起きているかをチェックするための「虫眼鏡」のような機能です。
- データビューア:フィールドの値や変数($変数、$$変数など)の中身をリアルタイムで確認するための画面。「今この瞬間、どんな値が入っているか?」をのぞき見るための窓のような機能です。
この2つを組み合わせることで、「どのステップで」「どんな値が」設定されているかを確認しながら、不具合の原因を特定していきます。
スクリプトデバッガを起動する方法
スクリプトデバッガは、FileMaker Proのメニューから起動します。一般的な手順は次の通りです。
- FileMaker Proを開きます。
- メニューバーから
[ツール] > [スクリプトデバッガ]
を選択します。 - スクリプトデバッガのウインドウが表示されます。
この状態でスクリプトを実行すると、スクリプトデバッガの画面にスクリプト内容が表示され、1行ずつ実行の様子を確認できるようになります。
ステップ実行の基本操作
スクリプトデバッガでは、スクリプトを細かく追いかけるためのボタンが用意されています。代表的なものを紹介します。
- 続行:スクリプトを最後まで一気に実行します。途中の動きは確認しません。
- 一時停止:実行中のスクリプトを止めます。状況を確認したいときに使います。
- ステップイン:1ステップずつ実行して進めるボタンです。サブルーチン的なスクリプトに入って、その中身まで追いかけたいときに使います。
- ステップオーバー:「サブルーチンの中には入らず、まとめて1ステップとして扱う」動き方をします。細かく追わなくてもよい部分を飛ばしたい場合に便利です。
- ステップアウト:今入っているサブルーチン(呼び出されたスクリプト)を最後まで実行し、呼び出し元のスクリプトに戻ります。
スクリプトが正しく動かないときは、最初からステップインで1行ずつ実行し、どの行で想定外の動きになっているかを確認していくのが基本の進め方です。
ブレークポイントで止めたい場所を指定する
スクリプトが長くなってくると、毎回最初から1行ずつ追うのは大変です。そのときに便利なのが「ブレークポイント」です。
ブレークポイントとは、「この行に来たら一度止まってください」という印を付ける機能です。
設定の仕方は次のようになります。
- スクリプトワークスペースで対象のスクリプトを開きます。
- 止めたいステップの左側(行番号のあたり)をクリックします。
- ●のマークが付きます。これがブレークポイントです。
この状態でスクリプトを実行すると、ブレークポイントを設定した行に到達したタイミングで、自動的にスクリプトデバッガのウインドウが前面に表示され、そのステップで一時停止した状態になります。そこから先は、先ほどのステップイン/ステップオーバーで詳細を確認できます。
データビューアを開いて値を確認する
処理の流れが分かっても、「実際にどんな値が入っているか」が分からないとトラブルの原因は特定できません。そこで使うのがデータビューアです。
データビューアの開き方は次の通りです。
- メニューバーから
[ツール] > [データビューア]
を選択します。 - データビューアのウインドウが表示されます。
データビューアには主に2つのタブがあります。
- 現在のタブ:現在のレイアウト上のフィールドや、スクリプトで使われている変数の値を一覧できます。
- ウォッチタブ:自分で監視したいフィールドや計算式を登録しておくタブです。よく確認する値をまとめて表示できるので便利です。
ウォッチ式を登録してリアルタイムに監視する
スクリプトの動作チェックでは、特定の変数やフィールドの値を継続して見たいことがよくあります。その場合は、ウォッチタブに式を登録しておくと効率的です。
- データビューアを開き、「ウォッチ」タブを選択します。
- 左下の「+」ボタンをクリックします。
- 監視したい計算式を入力します。例:
$合計、テーブル名::フィールド名など。 - OKを押すと、リストに式が追加され、その結果(現在の値)が一覧に表示されます。
スクリプトをステップ実行すると、ウォッチに登録した式の結果がリアルタイムに変化していきます。「このステップを実行したら、この変数がどう変わるか」を目で確認できるので、条件分岐やループ処理のチェックにとても役立ちます。
組み合わせて使うとデバッグ効率が大幅アップ
スクリプトデバッガとデータビューアは、どちらか一方だけでも便利ですが、同時に使うと効果が倍増します。
- スクリプトデバッガで処理の流れを1ステップずつ追いながら、
- データビューアで変数やフィールドの値がどう変化しているかを確認する。
このコンビを使うことで、
- 意図しないタイミングで値が書き換わっていないか
- 条件分岐の結果が想定通りか
- ループが正しく終了条件を満たしているか
といったポイントを、目で見て確かめることができます。結果として、バグの発見が早くなり、修正もしやすくなります。
まとめ:まずは「止めて見る」ことから始めよう
FileMakerのスクリプト開発でつまずきやすいのは、「何が起きているか見えないまま進めてしまう」ことです。そんなときは、
- スクリプトデバッガでスクリプトを途中で止めて、1ステップずつ動きを確認する
- データビューアで変数やフィールドの中身をリアルタイムに確認する
という流れを習慣にしてみてください。最初は少し面倒に感じるかもしれませんが、慣れてくると「おかしいな」と思ったときにすぐ原因を見つけられるようになり、開発全体のスピードと安心感がぐっと高まります。