The architecture consists of two primary components:

When a developer initiates a remote debugging session, Visual Studio connects to the Remote Debugger Monitor on the target machine. The Monitor acts as a proxy; it attaches to the process on the remote machine and communicates debugging events (breakpoints, variable values, exceptions) back to the IDE on the host. To the developer, the experience is almost seamless—variable inspection and step-through execution work exactly as they would locally, albeit with a slight network latency.