public IDebugPort2 InitializePort(IDebugEventCallback2 callback, IDebugEngine2 debugEngine) { // When attaching to a core, the port and process come from our implementation of a // port supplier. if we are launching a new game, where does it come from? // I think this is a default port that handles all windows based processes. // https://docs.microsoft.com/en-us/visualstudio/extensibility/debugger/ports?view=vs-2017 var portNotify = portNotifyFactory.Create(callback, debugEngine); var port = defaultPortFactory.Create(portNotify); var process = processFactory.Create("Default Process", port); port.SetProcess(process); return(port); }