public async Task EnterBreakStateAsync(Dbg.IManagedActiveStatementProvider activeStatementProvider, CancellationToken cancellationToken) { _debuggingService.OnBeforeDebuggingStateChanged(DebuggingState.Run, DebuggingState.Break); if (_disabled) { return; } try { var debuggerService = new DebuggerService(_managedModuleInfoProvider, activeStatementProvider); _editSessionConnection = await _proxy.StartEditSessionAsync(_diagnosticService, debuggerService, cancellationToken).ConfigureAwait(false); } catch (Exception e) when(FatalError.ReportAndCatchUnlessCanceled(e)) { _disabled = true; } _activeStatementTrackingService.StartTracking(); }
public void EnterBreakState(Dbg.IManagedActiveStatementProvider activeStatementProvider) => Shell.ThreadHelper.JoinableTaskFactory.Run(() => EnterBreakStateAsync(activeStatementProvider, CancellationToken.None));
public DebuggerService(Dbg.IManagedModuleInfoProvider managedModuleInfoProvider, Dbg.IManagedActiveStatementProvider activeStatementProvider) { _managedModuleInfoProvider = managedModuleInfoProvider; _activeStatementProvider = activeStatementProvider; }