public override Task <BreakpointCreateByAddressResponse> BreakpointCreateByAddress( BreakpointCreateByAddressRequest 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 BreakpointCreateByAddressResponse(); RemoteBreakpoint breakpoint = target.BreakpointCreateByAddress(request.Address); if (breakpoint != null) { response.Breakpoint = new GrpcSbBreakpoint { Target = request.Target, Id = breakpoint.GetId(), }; } return(Task.FromResult(response)); }
public RemoteBreakpoint BreakpointCreateByAddress(ulong address) { var request = new BreakpointCreateByAddressRequest() { Target = grpcSbTarget, Address = address, }; BreakpointCreateByAddressResponse response = null; if (connection.InvokeRpc(() => { response = client.BreakpointCreateByAddress(request); })) { if (response.Breakpoint != null && response.Breakpoint.Id != 0) { return(breakpointFactory.Create(connection, response.Breakpoint)); } } return(null); }