public SbProcessStub(RemoteTarget target, SbListener listener, ulong pid) { this.target = target; this.listener = listener; this.pid = pid; signalStub = new SbUnixSignalsStub(); }
public SbProcess AttachToProcessWithID(SbListener listener, ulong pid, out SbError error) { var request = new AttachToProcessWithIDRequest() { Target = grpcSbTarget, Listener = new GrpcSbListener() { Id = listener.GetId() }, Pid = pid, }; AttachToProcessWithIDResponse response = null; if (connection.InvokeRpc(() => { response = client.AttachToProcessWithID(request); })) { error = errorFactory.Create(response.Error); if (response.Process == null) { return(null); } return(processFactory.Create(connection, response.Process)); } var grpcError = new GrpcSbError { Success = false, Error = "Rpc error while calling AttachToProcessWithId." }; error = errorFactory.Create(grpcError); return(null); }
public SbProcess AttachToProcessWithID(SbListener listener, ulong pid, out SbError error) { var process = new SbProcessStub(this, listener, pid); error = _targetAttachErrorString == null ? new SbErrorStub(true) : new SbErrorStub(false, _targetAttachErrorString); return(process); }
public void SetUp() { _listener = Substitute.For <SbListener>(); _listenerSubscriber = Substitute.For <LldbListenerSubscriber>(_listener); _eventManager = new LldbEventManager .Factory(new BoundBreakpointEnumFactory(), null) .Create(null, null, null, null, _listenerSubscriber); }
public EventType AddListener(SbListener listener, EventType eventMask) { var request = new AddListenerRequest { Target = grpcSbTarget, Listener = new GrpcSbListener { Id = listener.GetId() }, EventMask = (uint)eventMask }; AddListenerResponse response = null; if (connection.InvokeRpc(() => { response = client.AddListener(request); })) { return((EventType)response.Result); } return(0); }
public void SetUp() { _mockSbListener = Substitute.For <SbListener>(); _mockSbProcess = Substitute.For <SbProcess>(); _mockSbEvent = Substitute.For <SbEvent>(); _mockRemoteThread = Substitute.For <RemoteThread>(); _mockBreakpointManager = Substitute.For <IBreakpointManager>(); _mockDebugEngineHandler = Substitute.For <IDebugEngineHandler>(); _mockPendingBreakpoint1 = Substitute.For <IPendingBreakpoint>(); _mockPendingBreakpoint2 = Substitute.For <IPendingBreakpoint>(); _mockBoundBreakpoint1 = Substitute.For <IBoundBreakpoint>(); _mockBoundBreakpoint2 = Substitute.For <IBoundBreakpoint>(); _mockBoundBreakpoint3 = Substitute.For <IBoundBreakpoint>(); _mockWatchpoint = Substitute.For <IWatchpoint>(); _mockProgram = Substitute.For <IGgpDebugProgram>(); MockEvent(EventType.STATE_CHANGED, StateType.STOPPED, false); MockListener(_mockSbEvent, true); MockThread(_mockRemoteThread, StopReason.BREAKPOINT, _breakpointStopData); MockProcess(new List <RemoteThread> { _mockRemoteThread }); MockBreakpointManager(); _mockListenerSubscriber = Substitute.For <LldbListenerSubscriber>(_mockSbListener); var threadContext = new FakeMainThreadContext(); _eventManager = new LldbEventManager .Factory(new BoundBreakpointEnumFactory(), threadContext.JoinableTaskContext) .Create(_mockDebugEngineHandler, _mockBreakpointManager, _mockProgram, _mockSbProcess, _mockListenerSubscriber); var lldbEventManager = _eventManager as LldbEventManager; lldbEventManager?.SubscribeToChanges(); }
public EventType AddListener(SbListener listener, EventType eventMask) => eventMask;
public LldbListenerSubscriber(SbListener lldbListener) { _lldbListener = lldbListener; }
public SbProcess AttachToProcessWithID(SbListener listener, ulong pid, out SbError error) => _sbTarget.AttachToProcessWithID(listener, pid, out error);