Analytics 脚本编辑器包括多种可帮助您在开发 Analytics 脚本时对其进行测试或调试的功能:
-
只运行脚本的一部分
-
设置断点以在特定行暂停脚本的执行
-
通过一次执行一行来单步执行脚本
-
隔离脚本错误
-
在关联的变量选项卡中,实时跟踪创建变量和向变量分配值的过程
每当在脚本编辑器中打开脚本时,都可以使用这些功能。如果打开的脚本调用一个或多个子脚本,则子脚本会在被调用时自动打开。
当脚本在单步执行模式或断点模式下运行时,它是只读的,大多数其他 Analytics 功能(包括命令行)将被禁用。如果发生脚本错误,该脚本将变为可编辑的,使您可以改正错误。
当您运行脚本时,无论您如何运行它,所有打开的脚本都将被自动保存。
说明
如果表在运行或单步执行脚本完成时保持打开状态,则 Analytics 显示区域会自动从脚本编辑器切换为在“视图”选项卡中显示打开的表。如果您想要在测试或调试脚本时继续显示脚本编辑器,您可以在脚本末尾暂时包括 CLOSE 命令。
运行脚本的一部分
在开发脚本时,您可以测试脚本的特定部分,避免不必要地运行整个脚本而浪费的时间和精力。有几个选项允许您仅运行当前关注的脚本的一部分:
-
运行到光标处 从脚本的第一行开始运行,到包含光标的行结束。包含光标停留的行。
-
从光标处运行 从脚本中光标所在的行开始运行,到最后一行结束。包含光标停留的行。
-
从光标处单步执行 从脚本中光标所在的行开始,通过每次执行一行来手动单步执行脚本。
-
运行选定代码 只运行脚本中您选定的行。
一旦脚本运行,您就不能使用这些选项中的任何一个。使用这些选项来开始执行脚本的一部分,或在遇到或改正脚本错误之后重新启动脚本。
说明
在只运行脚本的一部分时,如果您忽略了运行包含先决条件操作的脚本逻辑,则该部分脚本不太可能正确执行。在尝试运行脚本的一部分之前,请确保所有先决条件(如所需的表)都已就绪。
步骤
设置断点
您可以在 Analytics 脚本中设置一个或多个断点以在特定行暂停脚本的执行。断点使您无须运行整个脚本即可测试脚本的某个部分。它们还使您可以在脚本中的特定点检查 Analytics 项目的状态。当您开发和测试脚本的比较复杂或关键的部分时,断点可以是很有用的工具。
从断点重新启动脚本
当您从断点重新启动脚本时,您具有下列选项:
- 从该断点单步执行该脚本
- 运行该脚本至下一个断点(如果您已经插入一个断点)
- 运行该脚本至末尾
- 退出该脚本
空白行和注释
如果您将断点放在空白行或注释行,则脚本会在空白行或注释之后的第一行暂停。
断点的持久性
- 即使您关闭脚本,断点仍然存在于该脚本中。
- 您随时可以从 Analytics 项目中的所有脚本中删除所有断点,方法是右键单击脚本编辑器并选择清除所有断点。
- 当您关闭 Analytics 时,将自动从项目中的所有脚本中删除所有断点。
步骤
单步执行脚本
您可以通过一次执行一行来单步执行 Analytics 脚本。通过单步执行脚本,您可以按可控方式测试该执行,并且在任何错误所在的确切行发现它们。
单步执行箭头
绿色箭头 当您单步执行脚本时,绿色单步执行箭头 指示该脚本中即将被执行的行。当该箭头前进至该行之后的步骤时,表明该行已执行。
红色箭头 如果该行包含无效的命令语法或某种其他类型的错误,则脚本会停止,单步执行箭头变为红色 且不再前进,以突出显示错误的位置。当您单步执行脚本时,脚本是只读的,但是如果发生错误,脚本将变为可编辑的,以使您可以改正错误。
步骤
隔离脚本错误
每当您在 Analytics 中运行脚本并遇到导致脚本失败的错误时,都会自动在脚本编辑器中突出显示发生错误的行。如果脚本编辑器尚未打开,则会自动打开。将会发生此脚本错误标识操作 — 无论您是直接在脚本编辑器中运行脚本、从工具菜单运行脚本、从命令行运行脚本还是通过右键单击导航器中的脚本来运行脚本。
这一自动错误标识功能是一项强大的错误排除功能,对于在嵌套子脚本深处发生的错误而言尤其如此。具有脚本编写能力的 Analytics 用户可以在遇到错误时改正错误。不熟悉脚本编写的用户可以记录脚本的名称和发生错误的行号,从而为获取与脚本问题有关的帮助提供方便。
使用“变量”选项卡
使用导航器中的变量选项卡可实时跟踪创建变量和向这些变量分配值的过程。该只读选项卡显示 Analytics 项目中所有变量的名称、数据类型和当前值。名称按字母顺序排列。
如果您逐行遍历一个脚本,则该脚本中定义的任何变量或系统生成的任何变量在创建时都会出现在变量选项卡中。如果该变量已经存在,则其值会基于脚本逻辑动态更新。(在脚本编辑器中,使用单步执行 选项可单步执行脚本。)
能够准确地即时观察脚本变量发生的变化是一个重要的诊断工具。此功能使您可以通过单独检查脚本语法来查明可能难以定位的脚本错误。
如果您运行一个脚本,则在到达断点或脚本完成时,变量选项卡中会显示所有与变量相关联的变化。
多行命令
您无法单步执行多行命令,如 GROUP、LOOP 或 DEFINE FIELD . . .COMPUTED。如果您以单步执行模式运行脚本并且遇到一条多行命令,则会执行该命令的全部内容,并且单步执行箭头会被放置在紧跟该多行命令之后的那一行。
在多行命令内部不会识别断点。如果您在多行命令内部设置断点,则脚本会在紧跟该多行命令之后的那一行暂停。
提示
您或许能够通过将多行命令的内容(不带有周围的命令语法)复制到单独的脚本中来测试多行命令内容的某些部分。
测试包含一个 PASSWORD 分析标记的分析脚本
如果您通过在 Analytics 中运行分析脚本来测试它,并且该脚本在分析标头中具有一个 PASSWORD 标记,则 Analytics 会自动生成一个 PASSWORD 命令并提示您输入适当的密码。此自动生成的命令省去了人工操作,让您无需在分析脚本的脚本部分插入 PASSWORD 命令进行测试,以及随后在将分析脚本上传到机器人之前移除该命令。自动生成的 PASSWORD 命令被保存在日志中,但密码值不被保存。
当您在 Analytics 中运行分析脚本时,密码值不会被保存,因此每次您运行该分析脚本(包括运行该脚本或者从光标位置单步执行该脚本)时,都必须指定密码。
分析脚本是带分析标头的常规脚本,这些标头使脚本能够在 Diligent One 平台上的机器人应用程序中运行。