Exemplo n.º 1
0
 internal MonoPendingBreakpoint AddPendingBreakpoint(IDebugBreakpointRequest2 pBPRequest)
 {
     var bp = new MonoPendingBreakpoint(_engine, pBPRequest);
     _pendingBreakpoints.Add(bp);
     TryBindBreakpoints();
     return bp;
 }
Exemplo n.º 2
0
        private void HandleBreakPoint(BreakpointEvent bpEvent)
        {
            MonoPendingBreakpoint bp = _pendingBreakpoints.FirstOrDefault(x => x.LastRequest == bpEvent.Request);

            StackFrame[] frames = bpEvent.Thread.GetFrames();
            _engine.Events.BreakpointHit(bp, _mainThread);
        }
Exemplo n.º 3
0
        internal MonoPendingBreakpoint AddPendingBreakpoint(IDebugBreakpointRequest2 pBPRequest)
        {
            var bp = new MonoPendingBreakpoint(_engine, pBPRequest);

            _pendingBreakpoints.Add(bp);
            TryBindBreakpoints();
            return(bp);
        }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
 public BreakPointEvent(MonoPendingBreakpoint breakpoint)
 {
     _breakpoint = breakpoint;
 }
 public DebugEventBreakpointHit(MonoPendingBreakpoint breakpoint)
 {
     _breakpoint = breakpoint;
 }
Exemplo n.º 8
0
 public BreakPointHitEvent(MonoPendingBreakpoint breakpoint)
 {
     _breakpoint = breakpoint;
 }
Exemplo n.º 9
0
 public BreakpointBoundEvent(MonoPendingBreakpoint pendingBreakpoint, MonoBoundBreakpoint boundBreakpoint)
 {
     this.pendingBreakpoint = pendingBreakpoint;
     this.boundBreakpoint   = boundBreakpoint;
 }
 public MonoBreakpointBoundEvent(MonoPendingBreakpoint pendingBreakpoint, MonoBoundBreakpoint boundBreakpoint)
 {
     _pendingBreakpoint = pendingBreakpoint;
     _boundBreakpoint   = boundBreakpoint;
 }
Exemplo n.º 11
0
 /// <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;
 }
Exemplo n.º 12
0
 public MonoBoundBreakpoint(MonoEngine engine, MonoPendingBreakpoint pendingBreakpoint)
 {
     _engine = engine;
     _pendingBreakpoint = pendingBreakpoint;
 }
Exemplo n.º 13
0
 public MonoDocument(MonoPendingBreakpoint pendingBreakpoint)
 {
     _pendingBreakpoint = pendingBreakpoint;
 }
Exemplo n.º 14
0
 public DebugEventBreakpointBound(MonoPendingBreakpoint pending)
 {
     _pending = pending;
 }
Exemplo n.º 15
0
 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);
 }
Exemplo n.º 16
0
 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);
 }