XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEWorkflow

【WinUI】XFE基于windows的工作流

公开
关注 0 Fork 0 Star 0
UTF-8

节点断点与单步调试

编辑器的“运行输出”只记录“输出日志”、插件主动日志和必要的错误/中断提示。开始、结束、遍历进入及节点成功事件用于运行状态和高亮,不再写入 XFE 日志列表、日志历史或导出文件。成功且没有日志节点的工作流可以没有输出日志;输入、返回值和耗时仍在“运行记录”查看。

快捷键

在工作流编辑器打开工作流后使用:

按键 行为
F5 空闲时运行;断点暂停时继续至下一断点或结束
F9 设置/取消当前选中节点的断点
F10 空闲时启动并停在入口;暂停时执行当前节点,停在同层或外层的下一节点
F11 空闲时启动并停在入口;暂停时执行当前节点,进入其结构化子图或子工作流
Shift+F5 停止当前工作流,包括正停在断点的 Runner

顶部“调试”菜单提供相同操作和“暂停到下一节点”。F5、F10、F11 在 Monaco 代码编辑器获得焦点时也生效。F9 针对选中的图形节点,不是在代码行号上添加断点。

选择节点后,可在属性中开启“断点”,也可右键节点标题设置。节点标题上的红点表示断点;断点随工作流保存、导入导出及图形生成 C# 保留,并可撤销/重做。运行期间可以添加或移除后续节点断点,修改会发送到当前调试会话。对图、参数或代码的其他编辑需下次运行生效。

从编辑器手动启动才开启节点调试。定时、插件事件、工作流联动以及运行记录页的重新运行按普通后台任务执行,忽略编辑器断点,避免自动任务等待人工继续。

暂停时查看数据

断点停在节点参数解析、上游数据绑定完成后,实际动作执行之前。底部自动打开“调试”选项卡,包含:

  • parameters:即将传入当前节点的参数,已包含连接覆盖的值。
  • variables:当前作用域的变量,循环中包含当前元素与 index。
  • inputs:当前工作流/节点上下文输入。
  • nodeOutputs:已经执行的节点输出;当前节点执行前没有本次输出。

这些是只读快照,托管凭据会脱敏。预览有大小、嵌套深度和条目上限,过大数据会标明省略,不改变实际执行数据。结束后保留最后一次暂停快照。暂停同一工作流内节点时会定位画布和选中节点;进入另一个工作流时显示子工作流 ID、调用深度及其自身变量,调试命令仍操作当前运行的父工作流标签。

遍历与子流程

导入数组遍历模板,在“遍历数组”设置断点并按 F5:

  1. F10 越过整个遍历,在主图“返回全部迭代结果”之前暂停。若循环体内另有断点,仍会命中。
  2. F11 进入第一轮 body;此时 item=苹果、index=0。
  3. 再次 F10/F11 可检查日志节点参数及每轮输出,F5 继续至下一断点。

循环、并行、异常处理及图形子工作流共享调试会话。并行采用节点检查点协作暂停:已经在执行的其他分支动作可以完成,其下一节点会等待。断点先于单步越过规则;不保证并行分支的单步顺序。

图形生成的 C# 通过统一图引擎执行,保留节点断点。C# 代码节点按一个动作执行;当前不提供任意手写 C# 的逐行调试。需要检查代码块输入/输出时,将其放在 C# 节点,并在该节点及后继节点设置断点。

运行隔离与停止

Runner 通过命名管道异步接收调试命令,等待继续时不阻塞 WinUI 线程。暂停时间不计入节点及外层结构节点的超时;继续后仍按剩余执行时间计时。已运行的外部程序、浏览器操作或插件自身计时不会被系统级冻结。“暂停到下一节点”需等待当前动作结束,停止则立即请求协作取消,5 秒未退出时终止 Runner。