It turns out the CLR Debugging services don’t provide any explicit support for remote debugging. From our perspective, all debugging is local. We would call this scenario “Remote UI” since ICorDebug is actually on the same machine as the debuggee and it’s the VS UI that’s remoted. We cooperate with VS’s remote debugging architecture because ICorDebug explicitly does not have any UI. For example, on fatal errors, ICorDebug will dispatch a callback to VS instead of popping up a message box.
This is a classic example of enabling a scenario vs. implementing the scenario.