internal MonoPendingBreakpoint AddPendingBreakpoint(IDebugBreakpointRequest2 pBPRequest) { var bp = new MonoPendingBreakpoint(_engine, pBPRequest); _pendingBreakpoints.Add(bp); TryBindBreakpoints(); return bp; }
private void HandleBreakPoint(BreakpointEvent bpEvent) { MonoPendingBreakpoint bp = _pendingBreakpoints.FirstOrDefault(x => x.LastRequest == bpEvent.Request); StackFrame[] frames = bpEvent.Thread.GetFrames(); _engine.Events.BreakpointHit(bp, _mainThread); }
internal MonoPendingBreakpoint AddPendingBreakpoint(IDebugBreakpointRequest2 pBPRequest) { var bp = new MonoPendingBreakpoint(_engine, pBPRequest); _pendingBreakpoints.Add(bp); TryBindBreakpoints(); return(bp); }
internal static StatementRange GetILOffset(MonoPendingBreakpoint bp, MethodMirror methodMirror, out int ilOffset) { List<Mono.Debugger.Soft.Location> locations = methodMirror.Locations.ToList(); foreach (Mono.Debugger.Soft.Location location in locations) { int line = location.LineNumber; int column = location.ColumnNumber; if (line != bp.StartLine + 1) continue; //if (column != bp.StartColumn) // continue; ilOffset = location.ILOffset; Console.WriteLine(location.ColumnNumber); return null; } throw new Exception("Cant bind breakpoint"); }
internal static StatementRange GetILOffset(MonoPendingBreakpoint bp, MethodMirror methodMirror, out int ilOffset) { List <Mono.Debugger.Soft.Location> locations = methodMirror.Locations.ToList(); foreach (Mono.Debugger.Soft.Location location in locations) { int line = location.LineNumber; int column = location.ColumnNumber; if (line != bp.StartLine + 1) { continue; } //if (column != bp.StartColumn) // continue; ilOffset = location.ILOffset; Console.WriteLine(location.ColumnNumber); return(null); } throw new Exception("Cant bind breakpoint"); }
public BreakPointEvent(MonoPendingBreakpoint breakpoint) { _breakpoint = breakpoint; }
public DebugEventBreakpointHit(MonoPendingBreakpoint breakpoint) { _breakpoint = breakpoint; }
public BreakPointHitEvent(MonoPendingBreakpoint breakpoint) { _breakpoint = breakpoint; }
public BreakpointBoundEvent(MonoPendingBreakpoint pendingBreakpoint, MonoBoundBreakpoint boundBreakpoint) { this.pendingBreakpoint = pendingBreakpoint; this.boundBreakpoint = boundBreakpoint; }
public MonoBreakpointBoundEvent(MonoPendingBreakpoint pendingBreakpoint, MonoBoundBreakpoint boundBreakpoint) { _pendingBreakpoint = pendingBreakpoint; _boundBreakpoint = boundBreakpoint; }
/// <summary> /// Adds the specified break event. /// </summary> /// <param name="breakEvent">The break event.</param> /// <param name="pendingBreakpoint">The pending breakpoint.</param> public void Add(BreakEvent breakEvent, MonoPendingBreakpoint pendingBreakpoint) { _breakpoints[breakEvent] = pendingBreakpoint; }
public MonoBoundBreakpoint(MonoEngine engine, MonoPendingBreakpoint pendingBreakpoint) { _engine = engine; _pendingBreakpoint = pendingBreakpoint; }
public MonoDocument(MonoPendingBreakpoint pendingBreakpoint) { _pendingBreakpoint = pendingBreakpoint; }
public DebugEventBreakpointBound(MonoPendingBreakpoint pending) { _pending = pending; }
internal void BreakpointHit(MonoPendingBreakpoint breakpoint, MonoThread thread) { var iid = new Guid(BreakPointHitEvent.IID); _callback.Event(_engine, _engine.RemoteProcess, _engine, thread, new BreakPointHitEvent(breakpoint), ref iid, StoppingEvent.Attributes); }
internal void BoundBreakpoint(MonoPendingBreakpoint breakpoint) { var iid = new Guid(BreakPointEvent.IID); _callback.Event(_engine, _engine.RemoteProcess, _engine, null, new BreakPointEvent(breakpoint), ref iid, AsynchronousEvent.Attributes); }