The VM Agent resides on the embedded device, communicating via TCP, COM, or USB, with the VM Proxy on the Desktop side. The IDE communicates with the VM Proxy using TCP to obtain information for the debugger, CLI, etc.