public override Task <BreakpointCreateByLocationResponse> BreakpointCreateByLocation(
            BreakpointCreateByLocationRequest request, ServerCallContext context)
        {
            if (!_targetStore.TryGetValue(request.Target.Id, out RemoteTarget target))
            {
                ErrorUtils.ThrowError(StatusCode.Internal,
                                      "Could not find target in store: " + request.Target.Id);
            }

            var response = new BreakpointCreateByLocationResponse();
            RemoteBreakpoint breakpoint =
                target.BreakpointCreateByLocation(request.File, request.Line);

            if (breakpoint != null)
            {
                response.Breakpoint = new GrpcSbBreakpoint {
                    Target = request.Target,
                    Id     = breakpoint.GetId(),
                };
            }
            return(Task.FromResult(response));
        }
Example #2
0
        public RemoteBreakpoint BreakpointCreateByLocation(string file, uint line)
        {
            var request = new BreakpointCreateByLocationRequest()
            {
                Target = grpcSbTarget,
                File   = file,
                Line   = line,
            };
            BreakpointCreateByLocationResponse response = null;

            if (connection.InvokeRpc(() =>
            {
                response = client.BreakpointCreateByLocation(request);
            }))
            {
                if (response.Breakpoint != null && response.Breakpoint.Id != 0)
                {
                    return(breakpointFactory.Create(connection, response.Breakpoint));
                }
            }
            return(null);
        }