节点断点与单步调试
编辑器的“运行输出”只记录“输出日志”、插件主动日志和必要的错误/中断提示。开始、结束、遍历进入及节点成功事件用于运行状态和高亮,不再写入 XFE 日志列表、日志历史或导出文件。成功且没有日志节点的工作流可以没有输出日志;输入、返回值和耗时仍在“运行记录”查看。
快捷键
在工作流编辑器打开工作流后使用:
| 按键 | 行为 |
|---|---|
| F5 | 空闲时运行;断点暂停时继续至下一断点或结束 |
| F9 | 设置/取消当前选中节点的断点 |
| F10 | 空闲时启动并停在入口;暂停时执行当前节点,停在同层或外层的下一节点 |
| F11 | 空闲时启动并停在入口;暂停时执行当前节点,进入其结构化子图或子工作流 |
| Shift+F5 | 停止当前工作流,包括正停在断点的 Runner |
顶部“调试”菜单提供相同操作和“暂停到下一节点”。F5、F10、F11 在 Monaco 代码编辑器获得焦点时也生效。F9 针对选中的图形节点,不是在代码行号上添加断点。
选择节点后,可在属性中开启“断点”,也可右键节点标题设置。节点标题上的红点表示断点;断点随工作流保存、导入导出及图形生成 C# 保留,并可撤销/重做。运行期间可以添加或移除后续节点断点,修改会发送到当前调试会话。对图、参数或代码的其他编辑需下次运行生效。
从编辑器手动启动才开启节点调试。定时、插件事件、工作流联动以及运行记录页的重新运行按普通后台任务执行,忽略编辑器断点,避免自动任务等待人工继续。
暂停时查看数据
断点停在节点参数解析、上游数据绑定完成后,实际动作执行之前。底部自动打开“调试”选项卡,包含:
parameters:即将传入当前节点的参数,已包含连接覆盖的值。variables:当前作用域的变量,循环中包含当前元素与index。inputs:当前工作流/节点上下文输入。nodeOutputs:已经执行的节点输出;当前节点执行前没有本次输出。
这些是只读快照,托管凭据会脱敏。预览有大小、嵌套深度和条目上限,过大数据会标明省略,不改变实际执行数据。结束后保留最后一次暂停快照。暂停同一工作流内节点时会定位画布和选中节点;进入另一个工作流时显示子工作流 ID、调用深度及其自身变量,调试命令仍操作当前运行的父工作流标签。
遍历与子流程
导入数组遍历模板,在“遍历数组”设置断点并按 F5:
- F10 越过整个遍历,在主图“返回全部迭代结果”之前暂停。若循环体内另有断点,仍会命中。
- F11 进入第一轮
body;此时item=苹果、index=0。 - 再次 F10/F11 可检查日志节点参数及每轮输出,F5 继续至下一断点。
循环、并行、异常处理及图形子工作流共享调试会话。并行采用节点检查点协作暂停:已经在执行的其他分支动作可以完成,其下一节点会等待。断点先于单步越过规则;不保证并行分支的单步顺序。
图形生成的 C# 通过统一图引擎执行,保留节点断点。C# 代码节点按一个动作执行;当前不提供任意手写 C# 的逐行调试。需要检查代码块输入/输出时,将其放在 C# 节点,并在该节点及后继节点设置断点。
运行隔离与停止
Runner 通过命名管道异步接收调试命令,等待继续时不阻塞 WinUI 线程。暂停时间不计入节点及外层结构节点的超时;继续后仍按剩余执行时间计时。已运行的外部程序、浏览器操作或插件自身计时不会被系统级冻结。“暂停到下一节点”需等待当前动作结束,停止则立即请求协作取消,5 秒未退出时终止 Runner。