protected async Task HandleSetFunctionBreakpointsRequest( SetFunctionBreakpointsRequestArguments setBreakpointsParams, RequestContext <SetBreakpointsResponseBody> requestContext) { var breakpointDetails = new CommandBreakpointDetails[setBreakpointsParams.Breakpoints.Length]; for (int i = 0; i < breakpointDetails.Length; i++) { FunctionBreakpoint funcBreakpoint = setBreakpointsParams.Breakpoints[i]; breakpointDetails[i] = CommandBreakpointDetails.Create( funcBreakpoint.Name, funcBreakpoint.Condition); } // If this is a "run without debugging (Ctrl+F5)" session ignore requests to set breakpoints. CommandBreakpointDetails[] updatedBreakpointDetails = breakpointDetails; if (!this.noDebug) { updatedBreakpointDetails = await editorSession.DebugService.SetCommandBreakpoints( breakpointDetails); } await requestContext.SendResult( new SetBreakpointsResponseBody { Breakpoints = updatedBreakpointDetails .Select(Protocol.DebugAdapter.Breakpoint.Create) .ToArray() }); }
protected async Task HandleSetFunctionBreakpointsRequest( SetFunctionBreakpointsRequestArguments setBreakpointsParams, RequestContext <SetBreakpointsResponseBody> requestContext) { var breakpointDetails = new CommandBreakpointDetails[setBreakpointsParams.Breakpoints.Length]; for (int i = 0; i < breakpointDetails.Length; i++) { FunctionBreakpoint funcBreakpoint = setBreakpointsParams.Breakpoints[i]; breakpointDetails[i] = CommandBreakpointDetails.Create( funcBreakpoint.Name, funcBreakpoint.Condition); } CommandBreakpointDetails[] breakpoints = await editorSession.DebugService.SetCommandBreakpoints( breakpointDetails); await requestContext.SendResult( new SetBreakpointsResponseBody { Breakpoints = breakpoints .Select(Protocol.DebugAdapter.Breakpoint.Create) .ToArray() }); }
protected async Task HandleSetFunctionBreakpointsRequestAsync( SetFunctionBreakpointsRequestArguments setBreakpointsParams, RequestContext <SetBreakpointsResponseBody> requestContext) { var breakpointDetails = new CommandBreakpointDetails[setBreakpointsParams.Breakpoints.Length]; for (int i = 0; i < breakpointDetails.Length; i++) { FunctionBreakpoint funcBreakpoint = setBreakpointsParams.Breakpoints[i]; breakpointDetails[i] = CommandBreakpointDetails.Create( funcBreakpoint.Name, funcBreakpoint.Condition, funcBreakpoint.HitCondition); } // If this is a "run without debugging (Ctrl+F5)" session ignore requests to set breakpoints. CommandBreakpointDetails[] updatedBreakpointDetails = breakpointDetails; if (!_noDebug) { _setBreakpointInProgress = true; try { updatedBreakpointDetails = await _editorSession.DebugService.SetCommandBreakpointsAsync( breakpointDetails); } catch (Exception e) { // Log whatever the error is Logger.WriteException($"Caught error while setting command breakpoints", e); } finally { _setBreakpointInProgress = false; } } await requestContext.SendResultAsync( new SetBreakpointsResponseBody { Breakpoints = updatedBreakpointDetails .Select(Protocol.DebugAdapter.Breakpoint.Create) .ToArray() }); }