15.2 Remote Debugging: Remote Machine and Unattended Robot Connections
Key Takeaways
Remote debugging runs and debugs the open Studio project on a robot on another machine, for attended and unattended processes, including Linux robots.
Remote Machine connections use TCP/IP to the UiPath.RemoteDebugging.Agent (default port 8573, optional password); the robot must match the Studio version.
Unattended Robot connections go through Orchestrator 2021.10+ in the same tenant and need job and storage permissions plus an Unattended, NonProduction, or Testing runtime.
When the Remote Debugging button is highlighted, all run and debug operations execute remotely, and the status bar turns green.
Coded automations cannot be remote debugged, and long-running workflows require an Unattended Robot connection.
15.2 Remote Debugging: Remote Machine and Unattended Robot Connections
Core Concept: Automations can behave differently on the production machine than on the developer's PC, because of different hardware, software, permissions, or an isolated network. Remote debugging runs and debugs the open Studio project on a robot on another machine, with the same stepping, breakpoints, and panels as local debugging. It works for attended and unattended processes, including cross-platform projects on Linux robots.
Two Connection Types
| Remote Machine | Unattended Robot | |
|---|---|---|
| How Studio connects | Direct TCP/IP connection to the robot on the remote machine | Through Orchestrator, to an unattended robot in the same tenant |
| Set up on the robot side | Run the UiPath.RemoteDebugging.Agent utility to accept requests | None beyond a configured unattended robot |
| Versions | Remote robot is the same version as Studio; compatible .NET installed | Studio, robot, and Orchestrator 2021.10 or later; robot the same version as Studio |
| Packages | Studio sends the dependency list and its activity feeds; the robot downloads from those feeds | Studio sends only the dependency list; the robot uses the Orchestrator feeds and its own feeds |
| Extras | Password-protected agent port | Show Live Stream and remote control of the robot session |
Remote Machine Connection
Configure the robot machine
On a Windows robot, open a command prompt in the Studio or Robot installation folder (by default %PROGRAMFILES%\UiPath\Studio per machine) and run:
UiPath.RemoteDebugging.Agent.exe enable --port <port_number> --password <password> --verbose
- All arguments are optional. Without
--port, the agent uses port 8573, which must be open in the firewall and not used by another application. --passwordsets a password that Studio must supply.- Linux and macOS robots run the same agent with
dotnet UiPath.RemoteDebugging.Agent.dll enable .... - The agent confirms: "Robot on machine hostname is waiting for remote debugging instructions on port port_number".
While the robot is in remote debugging state, no attended or unattended jobs can run on it from Orchestrator or the local Assistant. Remote debugging commands can be sent even to robots whose installation is not licensed.
If Orchestrator enforces interactive authentication and you debug an unattended process, the robot must be signed in interactively, have a user signed in through Assistant, or have a troubleshooting session enabled in Orchestrator for the machine.
Configure Studio
- On the Debug tab, open the arrow under Remote Debugging and select the settings option.
- Set Connection Type to Remote Machine.
- Enter Host, Port (default 8573), and Password, optionally select Test Connection, and Save.
Unattended Robot Connection
Prerequisites
- Studio and the robot are connected to the same Orchestrator tenant.
- The Studio user can start jobs and create and delete storage buckets and storage files in the folder; the robot account can view storage buckets and storage files.
- The machine has an Unattended, NonProduction, or Testing runtime available.
- For foreground processes, Run foreground automations is enabled for the robot in Orchestrator.
Configure Studio
Set Connection Type to Unattended Robot. Save to use any available connected machine in the folder selected in the Studio status bar, or choose User, Machine, and Hostname. Show Live Stream opens a window showing the robot's actions, where you can also take remote control without pausing the automation.
Live streaming is supported for Automation Cloud and Automation Suite Orchestrator, needs the robot service in service mode, and needs a VNC server on Windows robots; serverless cloud robots need no extra setup. When debugging with a serverless robot, Orchestrator's automatic machine size for remote debugging jobs is Medium.
Switching Between Remote and Local Execution
Once a connection exists, the Remote Debugging button toggles remote execution:
- Highlighted in gray: every run and debug operation (Debug File, Run File, Debug Project, Run Project, Step Into/Over/Out, Test Activity, Run to/from this Activity) runs on the remote robot. The Studio status bar turns green during remote execution.
- Not highlighted: operations run on the local robot.
To close the connection, set Connection Type to Disabled when nothing is running.
Limitations to Remember
- Coded automations cannot be remote debugged.
- Long-running workflows can be remote debugged only with an unattended robot connection.
- With an unattended robot connection, the Picture in Picture option does not start a separate session.
- On a remote machine connection, a long pause can end in a Connection Closed error in Studio; increase the TCP idle timeout on the load balancer if needed.
- The project must be open in Studio. With source control, UiPath recommends Enforce Check-In before Publish so you debug the latest version.
Choosing a Connection
| Situation | Choose |
|---|---|
| Robot in an isolated lab network reachable from the developer PC | Remote Machine |
| Unattended cloud or server robot managed by Orchestrator, no inbound ports allowed | Unattended Robot |
| Need to watch the robot's screen while debugging | Unattended Robot with Show Live Stream |
| Debugging a long-running process that suspends and resumes | Unattended Robot |
| Project is a coded automation | Neither; debug locally |
A robot sits in an isolated lab network that the developer PC can reach directly. What must be done on the robot machine before Studio can use a Remote Machine connection?
Install Studio on the robot machine and open the project there.
Create an API trigger for the process in Orchestrator.
Run UiPath.RemoteDebugging.Agent with the enable command, optionally setting a port (8573 by default) and a password.
Enable a Testing runtime on the machine template.
Which statement about remote debugging is correct?
Coded automations can be remote debugged only over a Remote Machine connection.
Long-running workflows can be remote debugged with either connection type.
The remote robot may run a newer version than Studio.
Coded automations cannot be remote debugged, and long-running workflows need an Unattended Robot connection.
A developer uses an Unattended Robot connection. Which permissions and resources are prerequisites?
Permission to start jobs and to create and delete storage buckets and files in the folder, a robot account that can view storage buckets and files, and an Unattended, NonProduction, or Testing runtime.
Only the Orchestrator Administrator tenant role.
A Remote Machine password and an open inbound port 8573.
A Studio license installed on the robot machine.
Sections you finish are checked off in the contents.