studio
2023.10
false
UiPath logo, featuring letters U and I in white
Studio 用户指南
Last updated 2024年11月4日

远程调试

自动化在不同计算机上的表现可能有所不同。如果要在生产环境中运行自动化的计算机的配置与设计该自动化的计算机不同(例如,该计算机具有不同的硬件或软件、不同的权限或处于隔离的网络中),则应使用该计算机上的机器人测试并调试流程。

使用远程调试,您可以在部署到远程计算机的机器人(包括可以运行跨平台项目的 Linux 机器人)上运行和调试有人值守和无人值守的流程。

您可以使用以下其中一种连接类型连接到远程机器人:

  • 远程计算机 - 与远程计算机上的机器人建立 TCP/IP 连接。
  • 无人值守机器人 - 使用 Orchestrator 连接到同一租户中的无人值守机器人。
使用远程调试要求在 Studio 中打开项目。 如果您使用的是来源控件,为确保您使用的是最新的项目版本,我们建议启用“ 发布前强制签入” 设计设置
注意:您无法对编码自动化执行远程调试。

远程计算机连接

要使用远程计算机连接远程运行或调试项目,请执行以下操作:

  1. 确保满足所有先决条件。
  2. 在远程计算机上,配置机器人以接受远程调试请求。
  3. 如果在 Orchestrator 中强制执行交互式身份验证,并且您想运行或调试无人值守的流程,请确保远程机器人满足以下条件之一:

    • 已使用交互式登录连接到 Orchestrator。
    • 已使用客户端凭据或计算机密钥进行连接,且用户也已从 Assistant 登录。
    • 已使用客户端凭据或计算机密钥建立连接,没有用户从 Assistant 登录,并且已在计算机的 Orchestrator 中启用了故障排除会话。有关更多信息,请参阅调试无人值守流程
  4. 在 Studio 中:

    1. 设置与远程机器人的连接。
    2. 确保已启用远程执行。
    3. 运行或调试项目。

先决条件

  • Studio 计算机和远程计算机之间存在 TCP/IP 连接。
  • 远程机器人的版本与 Studio 相同。
  • 兼容的 .NET Framework 已安装在远程计算机上。

在远程计算机上配置机器人

在将远程机器人用于调试之前,必须配置该计算机上的 UiPath.RemoteDebugging.Agent 实用程序,以接受来自 Studio 的远程调试请求:

  1. 导航到安装目录:

    • 对于 Windows 机器人 - 在 UiPath 安装文件夹中打开命令提示符(对于按计算机安装的情形,默认为 %PROGRAMFILES%\UiPath\Studio,按用户安装的情形则为 %localappdata%\Programs\UiPath\Studio)。
    • 对于 Linux 机器人 - 从命令行终端导航到 /root/application
    • 对于 macOS 机器人 - 从 zsh 导航到 /Applications/UiPath Assistant.app/Contents/Robot
  2. 运行以下命令:

    • 对于 Windows 机器人 - UiPath.RemoteDebugging.Agent.exe enable --port <port_number> --password <pasword> --verbose
    • 对于 Linux 机器人 - ~/application # dotnet ./UiPath.RemoteDebugging.Agent.dll enable --port <port_number> --password <pasword> --verbose
    • 对于 macOS 机器人 - dotnet UiPath.RemoteDebugging.Agent.dll enable --port <port_number> --password <pasword> --verbose

      命令中的参数都是可选的:

    • --port <port_number> - 输入用于从 Studio 接收远程调试命令的端口。如果未提供任何端口,则默认使用端口 8573

      该端口必须在防火墙中打开,并且尚未与其他应用程序绑定。

    • --password <password> - 输入在设置与远程调试代理的连接时必须在 Studio 中提供的密码。
    • --verbose - 将额外信息记录到控制台。
  3. 显示以下消息:

    Robot on machine <hostname> is waiting for remote debugging instructions on port <port_number>

  4. 记下主机名端口号值,在 Studio 中设置连接时必须提供这些值。

在机器人处于远程调试状态时,无法从 Orchestrator 或本地 Assistant 执行任何有人值守或无人值守作业。您甚至可以向未经许可安装机器人的计算机发送远程调试命令。

设置远程计算机连接

  1. 在 Studio 中,选择“调试”选项卡。
  2. 在功能区中,选择“远程调试”下的箭头,然后选择“配置远程调试”以打开“远程调试设置”窗口。
  3. 从“连接类型”下拉列表中,选择“远程计算机”
  4. 在相应的框中提供以下信息:

    • “主机”- 远程计算机的主机名或 IP 地址。
    • “端口”- 要使用的端口。默认端口为 8573
    • “密码”- 在机器人计算机上配置远程调试代理时提供的密码(如适用)。
  5. (可选)要确保可以使用当前设置建立连接,请单击“测试连接”
  6. 单击“保存”



无人值守机器人连接

要使用连接到 Orchestrator 的无人值守机器人远程运行或调试项目,请执行以下操作:

  1. 确保满足所有先决条件。
  2. 设置与远程机器人的连接。
  3. 确保已启用远程执行。
  4. 运行或调试项目。

先决条件

  • Studio 和目标机器人已连接到同一 Orchestrator 租户。
  • 远程机器人的版本与 Studio 相同。
  • Studio、目标机器人和 Orchestrator 正在运行 2021.10 版或更高版本。
  • 登录到 Studio 的用户有权启动作业,以及在与目标机器人相同的文件夹上下文中创建和删除存储桶和存储文件。此外,机器人帐户必须具有存储桶和存储文件的查看权限。
  • 已配置 Unattended Robot,并且计算机具有以下可用运行时许可证的其中一个:UnattendedNonProductionTesting

    注意:Orchestrator 2022.4 及更高版本支持测试用于远程调试的运行时。
  • 在调试前台流程时,系统会在 Orchestrator 中为机器人启用“运行前台自动化”选项。
  • 如果使用故障排除会话,则只能在将机器人连接到 Orchestrator 后启用该会话。

设置无人值守机器人连接

  1. 在 Studio 中,选择“调试”选项卡。
  2. 在功能区中,选择“远程调试”下的箭头,然后选择“远程调试设置”
  3. 从“连接类型”下拉列表中,选择“无人值守机器人”
  4. 要使用 从 Studio 状态栏中选择的 Orchestrator 文件夹中的任何已连接计算机,请单击“ 保存”。 如果要选择要连接的计算机,请使用以下选项:

    • “用户”- 选择将无人值守机器人分配给 Orchestrator 文件夹的帐户。
    • “计算机”- 从 Orchestrator 文件夹中选择计算机或模板。
    • “主机名”- 从已连接的计算机列表中选择一台计算机。

    • “显示实时流”- 选择以查看机器人执行的操作。有关更多信息,请参阅实时流和远程控制

      注意:如果在 Orchestrator 中对帐户设置进行了更改,请使用 Studio 状态栏中的按钮刷新 Orchestrator 连接,以便将其反映在此窗口中。


远程执行

建立远程调试连接后,单击功能区中的“远程调试”按钮可在远程执行和本地执行之间切换。在选择运行或调试操作之前,请确保已启用所需选项(远程或本地)。

  • 只要该按钮以灰色突出显示,所有运行和调试操作(“调试文件”、“运行文件”、“调试项目”、“运行项目”、“进入/跳过/退出”,“测试活动”、“运行至此活动/从此活动运行”)都将在远程机器人上执行。



  • 只要该按钮未以灰色突出显示,所有运行和调试操作都将在本地机器人上执行。



远程调试体验类似于本地调试体验,并且可用于本地调试的所有功能也可用于远程调试。当通过“调试”选项卡触发的远程执行正在进行时,Studio 状态栏将显示为绿色

根据用于远程调试的连接类型,远程机器人会获取执行项目所需的活动包,如下所示:

  • 远程计算机连接 - Studio 将项目依赖项和活动订阅源(包来源)的列表发送到远程机器人,然后远程机器人将使用 Studio 提供的订阅源下载所需的包。
  • Unattended Robot 连接 - Studio 仅将项目依赖项列表发送到远程机器人,然后远程机器人将使用 Orchestrator 订阅源和远程机器人上配置的活动订阅源下载所需的包。

对于 Unattended Robot 连接,选择“显示实时流”可让您实时可视化机器人正在执行的操作。在远程执行期间,系统会打开一个新的实时流窗口,您可以移动该窗口并调整其大小。您还可以在不暂停自动化的情况下进行远程控制,以进行深入调试;或因需要阻止执行(例如,由于需要单击用户界面元素)而进行远程控制。工作流结束后,实时流窗口将消失。虽然 Serverless Automation Cloud Robot 不需要其他操作,但需要对 Windows 机器人设置 VNC 服务器

已知限制

  • 使用远程计算机连接时,如果暂停调试的时间较长,Studio 中可能会发生“连接已关闭”错误,即使远程计算机上的连接似乎仍处于活动状态。为避免此问题,您可以增加云端或本地负载均衡器中的 TCP 空闲超时。
  • 仅 Unattended Robot 连接支持远程调试长时间运行的工作流。
  • 使用无人值守机器人连接时,选择“画中画”选项不会在单独的会话中启动执行作业。
  • 仅当在服务模式下部署 Unattended Robot 上的机器人服务时,“显示实时流”选项才有效。有关更多信息,请参阅机器人服务
  • 只有 Automation Cloud Orchestrator 和 Automation Suite Orchestrator 支持“显示实时流”选项。

关闭远程调试连接

要禁用远程调试连接,请在没有正在进行的调试执行时,打开“远程调试设置”窗口,将“连接类型”设置为“禁用”,然后选择“保存”

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。