556033_zh-CN
JSL 调试器 – 后续步骤
在本节中,我们将了解 JSL 调试器真正强大的条件断点的原因。此功能允许我们在满足特定条件时暂停脚本,例如当变量达到特定值时。有了它,我们可以针对特定的输入值、循环迭代、列号等。我们将使用与 JSL 调试器 – 入门配方相同的程序。它已被稍微修改以帮助说明本食谱中的要点。
脚步:
- 打开CVC 9数据表和构建 CVC 列表脚本。启动调试器。在第 25、40 和 46 行设置断点。我们将有兴趣看到输入字符串是否被正确解析。重申上一食谱中的信息:
空白单元格被删除
以“ [ v. ”开头的单元格将被忽略。
用逗号分隔各个单词。
斜杠 ( / ) 给出一个单词列表,用于组合波浪号 ( ~ ) 后面的一个或多个单词。例如, tener/llevar ~ barba/bigote/gafas将扩展为六个单词: tener barba, llevar barba, tener bigote, llevar bigote, tener gafas, llevar gafas 。一个单元格中可能有两个以上的列表
单元格中可以同时存在斜杠和逗号。条目: tronco, extremidad ~ 上级/下级,应扩展为: tronco, extremidad 上级,extremidad 下级。
- 右键单击第 25 行上的断点并选择“编辑断点” 。在对话框中选择条件选项卡。选中条件复选框并添加条件Contains(item,”,”) 。 item是我们将要观察的变量。应选择“Is True ”单选按钮。单击“确定” 。断点点中出现一个加号,表明它是一个条件断点。
- 将item 、 tildeGroup和builtCartesian添加到监视变量列表中。
- 单击调试器左上角的“运行”按钮。出现提示时,选择“部分”作为“级别”列,并选择接下来的三列作为“数据”列。单击对话框中的“运行”按钮。
- 调试器应在第 25 行停止。变量 item 包含字符串“ pelo, ojo, nariz ”。条件断点已跳过所有没有逗号的单元格。
- 再单击“运行”两次。变量tildeGroup包含{“pelo”} 。
- 再次单击“运行” 。 tildeGroup现在包含{“ojo”} 。看来只有逗号的字符串被正确解析。
- 接下来,我们应该检查包含波浪号的单元格是否被正确解析。我们可以通过编辑当前的条件断点来做到这一点。在调试器的右下角,选择“断点”选项卡。选择包含条件断点的行,然后单击选项卡顶部的“编辑断点”按钮(左起第二个)。单击“条件”列中包含断点条件的单元格。将其编辑为Contains(item,”~”) 。或者,我们可以直接在断点表中编辑该行。
- 取消选中第 40 行和第 46 行断点的复选框。这使我们可以关闭断点而不删除它们。
- 单击运行按钮。调试器将在第 24 行的断点处停止,以进行下一个观察,其中 item 包含波浪号。 (注意:如果调试器停止,但 item 不包含波浪号,则可能是调试器在运行完成之前过早停止。单击“不带断点运行”按钮并重试。)
- Next, we will check items with both a tilde and comma. Modify the condition on breakpoint 24 to
Contains(item,"~") & Contains(item,",")
- 单击运行。我们现在可以迭代具有这两个字符的项目。
当迭代大量项目时,可能很难确定问题出现的位置或原因。虽然调试器通常用于单步执行脚本,但它也可用于帮助诊断更严重的问题。
- 在不使用调试器的情况下运行程序,这次选择“级别”列的“部分” ,以及“数据列”的所有剩余列。
- 单击“运行”后,我们会看到一个错误对话框。日志中的信息表明存在下标问题,但除了涉及列并且可能是由于变量targetRows之外,没有提供太多详细信息。
- 在调试器中重新启动程序,然后单击“不带断点运行”按钮。
- 关闭警告对话框后,控制权将传递回调试器。我们现在可以探索各种变量值。特别是,我们可以很容易地将问题列识别为10.1。 Acciones relacionadas con la Vivienda并且targetRows为空。
成功秘诀:
- 使用条件断点来确定如何以及何时使用断点来停止。
- 当使用日志不容易发现错误时,调试器可用于确定失败时的变量值。
开胃菜自动化和脚本编写
Comments
There are no comments yet