void SetProgramAndContinue(IDebugEvent2 programCreatedEvent, IDebugProgram3 program) { _debugSessionContext.DebugProgram = program; _taskContext.RunOnMainThread( () => _debugSessionContext.DebugEngine.ContinueFromSynchronousEvent( programCreatedEvent)); _debugSessionContext.ProgramState = ProgramState.Running; }
void HandleDebugProgramCreated(IDebugEvent2 programCreatedEvent, IDebugProgram3 program) { var breakpoints = _bindPendingBreakpoints(); Func <bool> predicate = () => breakpoints.All(b => b.Ready); _jobQueue.Push(_observeAndNotifyJobFactory.Create( predicate, () => SetProgramAndContinue(programCreatedEvent, program), "Waiting for breakpoints to be bound.")); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public void Broadcast (IDebugEvent2 debugEvent, IDebugProgram3 program, IDebugThread3 thread) { Broadcast (debugEvent, program as IDebugProgram2, thread as IDebugThread2); }