示例#1
0
        internal void BreakpointHit(AD7PendingBreakpoint breakpoint, AD7Thread thread)
        {
            var iid = new Guid(AD7BreakpointEvent.IID);

            _eventCallback.Event(_engine, _engine.RemoteProcess, _engine, thread, new AD7BreakpointEvent(breakpoint), ref iid,
                                 AD7StoppingEvent.Attributes);
        }
示例#2
0
        internal void BoundBreakpoint(AD7PendingBreakpoint breakpoint)
        {
            var iid = new Guid(AD7BreakpointBoundEvent.IID);

            _eventCallback.Event(_engine, _engine.RemoteProcess, _engine, null, new AD7BreakpointBoundEvent(breakpoint), ref iid,
                                 AD7AsynchronousEvent.Attributes);
        }
        internal static int GetILOffset(AD7PendingBreakpoint bp, MethodMirror method, out int lineDifference)
        {
            List <Mono.Debugger.Soft.Location> locations = method.Locations.ToList();
            var ilOffset = -1;

            lineDifference = int.MinValue;
            foreach (Mono.Debugger.Soft.Location location in locations)
            {
                int line   = location.LineNumber;
                int column = location.ColumnNumber;

                var tempLineDifference = line - (bp.StartLine + 1);

                if (tempLineDifference > 0)
                {
                    break;
                }

                lineDifference = tempLineDifference;
                ilOffset       = location.ILOffset;
                if (tempLineDifference == 0)
                {
                    break;
                }
            }

            return(ilOffset);
        }
示例#4
0
        public int CreatePendingBreakpoint(IDebugBreakpointRequest2 pBPRequest, out IDebugPendingBreakpoint2 ppPendingBP)
        {
            DebugHelper.TraceEnteringMethod();

            AD7PendingBreakpoint breakpoint = DebuggedProcess.AddPendingBreakpoint(pBPRequest);

            ppPendingBP = breakpoint;

            return(VSConstants.S_OK);
        }
 public AD7BoundBreakpoint(AD7Engine engine, AD7PendingBreakpoint pendingBreakpoint)
 {
     _engine            = engine;
     _pendingBreakpoint = pendingBreakpoint;
 }
示例#6
0
 public MonoDocument(AD7PendingBreakpoint pendingBreakpoint)
 {
     _pendingBreakpoint = pendingBreakpoint;
 }