订阅

UiPath Studio

UiPath Studio 指南

调试操作

您可以通过“设计”或“调试”功能区选项卡执行单个文件或整个项目的调试。但如果项目文件存在验证错误,您将无法使用调试流程。

进入

使用“进入”操作,一次调试一个活动。触发此操作后,调试器会打开活动,并在执行该活动前对其进行高亮显示。

在对“调用工作流文件”活动使用“进入”操作时,系统会在新选项卡中以 ReadOnly 模式打开工作流,并逐个执行每个活动。

“进入”操作的键盘快捷方式是 F11

跳过

与“进入”操作不同,“跳过”操作不会打开当前容器。在使用时,该操作会调试下一活动,高亮显示容器(如流程图、序列或“调用工作流文件”活动)而不打开它们。

此操作对于跳过大型容器的分析非常方便,因为大型容器在执行过程中不太可能触发任何问题。

使用 F10 键盘快捷键即可执行“跳过”操作。

退出

顾名思义,此操作用于在当前容器级别退出并暂停执行。“退出”操作会先结束执行当前容器中的活动,然后暂停调试。此选项非常适用于嵌套序列。

使用 Shift + F11 键盘快捷键即可执行“退出”操作。

重试

“重试”操作会重新执行上一个活动,并在再次遇到异常时引发该异常。系统会高亮显示引发异常的活动,并在“局部”和“调用堆栈”面板中显示错误详情。

忽略

“忽略”操作可用于忽略遇到的异常,继续执行下一个活动,以便完成剩余工作流的调试。

如要跳过引发异常的活动并继续调试项目的剩余部分,此操作将非常有用。

重启

在引发异常并暂停调试流程后,您便可执行“重启”操作。此操作用于从项目的第一个活动开始重启调试流程。使用“慢步骤”操作降低调试速度,并适当检查活动执行后的情况。

请注意,如果在使用“从此活动运行”操作后使用此选项,系统便会从先前指定的活动重启调试。

中断

“中断”允许您在任何给定时刻暂停调试过程。暂停时,正在调试的活动仍然会高亮显示。一旦发生这种情况,您可以选择“继续”、“进入”、“跳过”或“停止”调试流程。

建议将“中断”和“慢步骤”一起使用,这样您就可以准确地知道何时需要暂停调试。

在这种情况下,“慢步骤”的替代方法是监视“输出”面板,并对当前正在调试的活动使用“中断”。

焦点

“焦点执行点”可帮助您在调试期间返回到当前的断点或导致错误的活动。“焦点”按钮在浏览流程后使用,它是返回到造成错误的活动并恢复调试过程的简便方式。

此外,当调试因为到达断点而暂停时,也可在浏览自动化流程中包含的活动后使用“焦点”来返回到所述的断点。

第三种使用情形是,当调试在使用了“进入”或“跳过”后暂停,并且浏览了整个流程。在这种情形中,“焦点”可返回到造成调试过程暂停的活动。

在“断点”上下文菜单中,您可以选择“聚焦”以高亮显示具有断点的活动。

慢步骤

“慢步骤”用于在调试过程中更仔细地查看任何活动。启用了此操作时,调试过程中将高亮显示各项活动。此外,流程图、序列或“调用工作流文件”活动等容器也会打开。这与使用“进入”相似,但不必暂停调试过程。

可以在调试过程之前或调试过程期间激活“慢步骤”。激活该操作不会暂停调试。

虽然被称为“慢步骤”,但该操作有 4 种不同的速度。所选速度的步骤在运行调试过程时慢于比上一个调试过程。例如,以“慢速度”1x 调试时运行速度最慢,以 4x 运行时最快。换句话说,速度决定调试器从一个活动跳到下一个活动的速度。

每次单击“慢步骤”,速度就会按一个步长更改。您可以很容易地从图标中看出,图标会相应地更新。

执行历史记录

默认情况下,“执行历史记录”功能区按钮处于禁用状态。启用后,其将显示调试时的确切执行路径。执行该流程时,每项活动都会在“设计器”面板中突出显示并标记,以向您显示执行情况:

  • 已执行的活动以绿色标记并突出显示;
  • 未执行的活动不会以任何方式标记;
  • 抛出异常的活动以红色标记并突出显示。

高亮显示元素

如果启用,则在调试期间高亮显示用户界面元素。该选项可用于常规调试和逐步调试.

日志活动

如果启用,调试的活动将在“输出”面板中显示为跟踪日志。请注意,“高亮显示元素”和“日志活动”选项仅支持在调试之前切换,其状态在重新打开自动化项目时仍保持不变。此情况不适用于调用的工作流,除非您在“设计器”面板中打开这些文件。

Logs are automatically sent to Orchestrator if connected, but you can have them stored locally by disabling the Allow Development Logging option from the Robot Settings tab in the Add or Edit user window.

要向 Orchestrator 发送更少量的日志文件,其中一种方法就是禁用“日志活动”。

📘

备注:

通过 Studio 运行流程时,禁用日志活动后,发送到 Orchestrator 的日志始终为 Trace,而启用日志活动时始终为 Verbose。这将覆盖机器人和 Orchestrator 设置。

默认情况下,调试器会记录活动,以便每个步骤都出现在“输出”面板中。我们建议继续启用它,以便更容易地进行跟踪,如下图所示:

这里的问题是,“用户输入”序列的一个或多个输入字段为空白,这对于流程决策来说是一个 True 条件。您可以通过以下事实来说明这一点:在调试期间,“用户输入”序列被执行两次,这意味着在第一次执行过程中,一个或多个字段被保留为空白。

如果决定禁用用于调试的“日志活动”选项,则跟踪日志不会显示在“输出”面板中。在正常执行而没有错误的情况下,您只能看到调试执行的开始和结束时间。但是,添加日志消息可以帮助您确定问题可能发生的位置。

例如,您可以添加一个“日志消息”活动来通知您某些状况,在这种情况下是一个或多个输入字段为空白。调试期间,此消息将显示在“输出”面板中,即使禁用了“日志活动”选项,如下所示:

Remember that you can always filter the messages displayed in the Output panel by simply selecting the alert types of interest, or even clear all messages.

Note that by default all debugging logs are sent to Orchestrator. You can disable this by clearing the Allow Development Logging option from the Settings tab in the Add or Edit Robot window. If this option is disabled, debugging logs are only stored locally.

继续处理异常

This debugging feature is disabled by default. When disabled in the ribbon, it throws the execution error and stops the debugging, highlights the activity which threw the exception, and logs the exception in the Output panel. If a Global Exception Handler was previously set in the project, the exception is passed on to the handler.

启用后,异常将记录在“输出”面板中,执行流程继续进行。

画中画

“调试”选项卡中的“画中画”功能区选项可用于在计算机上的单独会话中执行和调试流程或库。

如果启用,则无论您选择“运行”或“运行文件”,“调试”还是“调试文件”,流程都会在单独的会话中启动。如果禁用了“画中画”功能,则在当前会话中执行调试和执行。

在有人值守的自动化中,可以选择在画中画 (PiP) 中运行流程非常有用。验证流程是否在 PiP 中成功运行,然后更新项目设置以指示发布后是否可以使用此功能执行该流程:

  1. 在“项目”面板中,单击“设置”settings_iconsettings_icon 以打开“项目设置”窗口。
  2. 在“常规”选项卡中:
    • 选择“PiP 已就绪”以启用该选项以在 PiP 中执行流程。仅在流程经过测试并验证可在 PiP 中成功运行时,才执行此操作。
    • 选择“在 PiP 中启动”表示默认情况下应在画中画中执行流程。

有关更多信息,包括此功能的限制,请参阅机器人指南中的画中画

打开日志

Clicking Open Logs brings up the %localappdata%\UiPath\Logs folder where logs are locally stored. The naming format of log files is YYYY-DD-MM_Component.log (such as 2018-09-12_Execution.log, or 2018-09-12_Studio.log). Read more about logging here.

大约一年前更新


调试操作


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。