public SessionDebugManager(JobExecutor jobExecutor, IJobQueue jobQueue, LaunchAndAttachFlow launchAndAttachFlow, IDebugSession debugSession) { _jobExecutor = jobExecutor; _jobQueue = jobQueue; _launchAndAttachFlow = launchAndAttachFlow; Session = debugSession; }
LaunchAndAttachFlow GetLaunchAndAttachFlow() { if (createDebugEngine == null) { throw new InvalidOperationException($"{createDebugEngine} has not been set."); } if (launchAndAttachFlow == null) { var callback = new EventCallbackFake(GetJobOrchestrator()); launchAndAttachFlow = new LaunchAndAttachFlow( GetBreakpointViewInternal().BindPendingBreakpoints, createDebugEngine, callback, GetDebugSessionContext(), GetProjectAdapter(), GetTargetAdapter(), GetJobQueue(), taskContext, new ObserveAndNotifyJob.Factory(GetJobQueue()), new LaunchAndAttachJob.Factory()); GetJobOrchestrator().DebugEvent += launchAndAttachFlow.HandleDebugProgramCreated; } return(launchAndAttachFlow); }