调试
Routine 或 Events 图的运行可以在任何语句之前停下来,供你查看,然后逐条语句地执行。这仅适用于分步运行的图;Flows 或 Function 图没有可以在其间停下的步骤,它们的运行从不会暂停。
设置断点
选中一条语句(带有执行引脚的节点,例如 Print Line),然后按 F9。其标题左侧会出现一个红点,状态栏显示 Set breakpoint on Print Line。再按一次 F9 即可清除断点。节点 Properties 中的 Breakpoint 开关作用相同。断点会随文档一起保存,与任何编辑一样,设置断点也是撤消历史中的一步。
运行到断点
按 F5。当运行可以暂停时,画布周围会出现一个红框。运行会在带断点的节点之前停止(该节点尚未运行),并且:
- 该节点带有粗的琥珀色边框,显示 paused,并被移到视图中央并选中;
- 工具栏上的 Run 显示为 Stop,Properties 面板切换到 Debug 视图;
- 状态栏会显示该节点及其所在的图:Paused at Print Line in Graph - F5 continues, F10 steps over, F11 steps into, Shift+F11 steps out, Shift+F5 stops。

查看当前位置
Debug 视图从上到下依次为:
- Continue、Pause、Stop、Step over、Step into 和 Step out。
- Paused,以及节点和图,并提醒该节点尚未运行。
- Call stack(调用堆栈):运行当前所在的每个图各占一行,最内层的排在最前,例如 Graph · Print Line, inside For。单击某一行可查看该图,其中运行所在的语句会被标出。
- Locals:本轮已运行的每个节点,每个引脚占一行:[In] 表示传入的内容,[Out] 表示传出的内容,例如 For 的 [In] End 2 和 [Out] Current Value 0。值尚未计算出来的引脚显示 no value yet。单击某一行可查看完整的值:图像显示为图像,表格显示为表格。
- Data members:图可以访问的每个数据成员的当前值,例如 [Number] Total 2。
控制台停靠栏的 Locals 和 Call stack 标签页列出相同的内容,运行到目前为止打印的内容也已显示在其 Console 标签页中。
继续执行
| 按键 | 作用 |
|---|---|
F5 |
继续运行到下一个断点或结束 |
F10 |
单步跳过:运行当前语句,并在同一个图中的下一条语句之前停止;对另一个 Routine 或 Function 的调用会完整运行 |
F11 |
单步进入:在下一条语句之前停止(无论在哪里),会进入该语句调用的 Routine |
Shift+F11 |
单步跳出:执行完当前图,并在调用它的图中停下 |
Shift+F5 |
停止运行 |
Debug 视图上的 Pause 会在正在进行的运行的下一条语句之前将其停下,这是在没有断点的情况下进入长循环的方法。暂停时按 F9,可以为本次运行的剩余部分设置或清除断点。
语句失败时
失败的语句(例如文件不存在、截取文本超出了末尾)会使运行在该处暂停,无论是否有断点。Debug 视图和状态栏会说明失败的原因:Paused at Print Line in Graph, which failed: … - F5 ends the run。查看导致失败的值,然后按 F5 结束运行(控制台会打开并显示该失败,即其最后一行),或按 Shift+F5 停止运行。