调试脚本 (FileMaker Pro Advanced)
“脚本调试器”是一种用于解决 FileMaker
脚本问题的交互式工具。
使用“脚本调试器”,您可以:
•调试从“脚本”菜单或键盘快捷方式运行的脚本
•调试启动脚本(即使没有打开的文件,也会启用“脚本调试器”菜单)
•在脚本中设置或清除断点
•在单步调试脚本时查看子脚本
•调试限制访问的脚本
•遇到脚本错误时暂停脚本
•当您在使用“脚本调试器”时可以临时禁用或启用脚本触发器
要调试脚本:
1. 通过执行以下操作之一启用“脚本调试器”:
•选择“工具”菜单 >“脚本调试器”,然后运行您的脚本。
•选择“
脚本”菜单
>“
脚本工作区”,选择您的脚本,然后单击
。要保存所有打开的脚本,然后调试该脚本,请按住 Shift 键 (Windows) 或 Option 键 (OS X),然后单击
。
2. 使用这些控件来调试该脚本:
选择 | 目的 |
单步执行 | 一次一步地执行脚本,不进入子脚本。 如果脚本步骤是“执行脚本”,“脚本调试器”将执行子脚本,并继续调用脚本的下一行。“脚本调试器”将执行所有子脚本步骤,直到遇到断点。 |
步入 | 一次一步地执行脚本,并进入子脚本且显示其步骤。 如果脚本步骤是“执行脚本”,则“脚本调试器”将步入子脚本的第一行,等待用户输入,然后才继续执行下一个子脚本步骤。 |
步出 | 执行当前脚本中的所有脚本步骤,如果脚本是子脚本,则返回调用脚本中“执行脚本”步骤后面的那一行。 如果脚本不是子脚本,则“步出”命令会让“脚本调试器”执行所有剩余脚本和子脚本步骤,直到遇到断点。 |
设置下一步 | 在高亮显示的脚本步骤中设置步骤执行指针。 此命令会将控制传递到高亮显示的步骤,但不执行该步骤。继续执行脚本或调试步骤时,会执行高亮显示的步骤。 但不会执行任何介于上一个已执行步骤和下一个已分配步骤之间的脚本步骤。单击某个步骤以突出显示它,然后单击 。 |
运行 暂停 | 在执行所有脚本步骤直到脚本结束或遇到断点与暂停之间切换。如果某脚本已暂停,可以双击“调用堆栈”列表中的脚本来进行编辑。每个活动脚本都会在“脚本工作区”中单独的选项卡中打开,这样您就可以编辑多个脚本。脚本执行不会暂停,直到您保存更改为止。 脚本暂停后,可以使用 来单步调试脚本。 |
中断脚本 | 暂停执行脚本。 |
启用/禁用脚本触发器 | 临时禁用或启用文件中的所有脚本触发器。 您必须具有“完全访问”权限,才能禁用脚本触发器。默认情况下,脚本触发器已启用。当您关闭“脚本调试器”时,所有已禁用的脚本触发器都将启用。 |
编辑脚本 | 在“编辑脚本”对话框中打开当前脚本。您可以在执行脚本时对其进行更改,但保存脚本更改后,会暂停执行。 |
打开/关闭数据查看器 | |
鉴定/取消鉴定脚本 | 解锁不允许修改权限的脚本的“脚本调试器”或“数据查看器”。 您必须具有“完全访问”权限,才能验证脚本。高级别的权限适用于所有脚本,但不适用于其他文件元素,如记录和布局。您的编辑权限会一直有效,直到关闭“脚本调试器”和“数据查看器”。 |
3. 遇到错误时,如果要暂停脚本,请选择“发生错误暂停”。
查看子脚本
在“脚本调试器”中单步调试脚本时,可以查看子脚本。例如,如果“脚本 A”调用“脚本 B”,“脚本 B”又调用“脚本 C”,则可以查看这三个脚本中的步骤。
1. 选择“工具”菜单 >“脚本调试器”。
2. 执行调用子脚本的脚本。
3. 单击“步入”。
“调用堆栈”列表显示子脚本。
4. 选择“调用堆栈”列表中的脚本,在显示区域中查看该脚本的步骤。
注释
•要设置或清除断点,请单击脚本步骤左侧的行号。断点允许“脚本调试器”执行大部分脚本,只暂停观察标有断点的部分。未使用“脚本调试器”时 FileMaker Pro 会忽略断点。您可以在多个步骤中设置断点。您不能对由按钮或自定义菜单调用的步骤设置断点。
•为便于正确调试脚本,“脚本调试器”会替代一些脚本步骤。“允许用户异常中断”脚本步骤选项设为关闭,不会阻止您停止执行脚本。具有隐藏或最小化选项的“调整窗口”脚本步骤不会隐藏或最小化在“单步执行”
或“步入”
按钮执行时遇到的窗口。
•如果访问权限设置为“可修改”的脚本执行具有“只可执行”访问权限的脚本,则“只可执行”脚本将完整执行,而不在“脚本调试器”中显示其步骤。如果“只可执行”脚本执行权限设置为“可修改”的脚本,则只有“可修改”脚本中的步骤会显示在“脚本调试器”中。要编辑脚本,请单击“脚本调试器”中的
。有关脚本权限和以完全访问权限运行脚本的更多信息,请参阅
编辑脚本权限。
如果在单击
后打开“数据查看器”,在“数据查看器”和“脚本调试器”中都会保留您的访问权限,直到关闭“脚本调试器”。
•您可以在打开数据库文件之前打开“脚本调试器”,来调试启动脚本。
•如果在脚本暂停时关闭“脚本调试器”,该脚本会继续执行直到完成。
相关主题