Exemplo n.º 1
0
        // A helper method used to construct a new pending breakpoint.
        public void CreatePendingBreakpoint(IDebugBreakpointRequest2 pBpRequest, out IDebugPendingBreakpoint2 ppPendingBp)
        {
            var pendingBreakpoint = new AD7PendingBreakpoint(pBpRequest, _mEngine, this);

            ppPendingBp = pendingBreakpoint;
            _mPendingBreakpoints.Add(pendingBreakpoint);
        }
Exemplo n.º 2
0
        // A helper method used to construct a new pending breakpoint.
        public void CreatePendingBreakpoint(IDebugBreakpointRequest2 pBPRequest, out IDebugPendingBreakpoint2 ppPendingBP)
        {
            var pendingBreakpoint = new AD7PendingBreakpoint(pBPRequest, mEngine, this);

            ppPendingBP = (IDebugPendingBreakpoint2)pendingBreakpoint;
            mPendingBPs.Add(pendingBreakpoint);
        }
Exemplo n.º 3
0
        internal static void GetILOffset(AD7PendingBreakpoint 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;
            }

            throw new Exception("Cant bind breakpoint");
        }
Exemplo n.º 4
0
        internal static void GetILOffset(AD7PendingBreakpoint 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;
            }

            throw new Exception("Cant bind breakpoint");
        }
Exemplo n.º 5
0
 public AD7BoundBreakpoint(AD7Engine engine, AD7PendingBreakpoint pendingBreakpoint)
 {
     _engine = engine;
     _pendingBreakpoint = pendingBreakpoint;
 }
Exemplo n.º 6
0
 public MonoDocument(AD7PendingBreakpoint pendingBreakpoint)
 {
     _pendingBreakpoint = pendingBreakpoint;
 }
Exemplo n.º 7
0
 internal void DeletePendingBreakpoint(AD7PendingBreakpoint breakPoint)
 {
     lock (_pendingBreakpoints)
         _pendingBreakpoints.Remove(breakPoint);
 }
Exemplo n.º 8
0
        internal AD7PendingBreakpoint AddPendingBreakpoint(IDebugBreakpointRequest2 pBPRequest)
        {
            var bp = new AD7PendingBreakpoint(_engine, pBPRequest);
            lock (_pendingBreakpoints)
                _pendingBreakpoints.Add(bp);

            TryBindBreakpoints();
            return bp;
        }
Exemplo n.º 9
0
 public AD7BreakpointEvent(AD7PendingBreakpoint boundBreakpoints)
 {
     _boundBreakpoints = boundBreakpoints;
 }
Exemplo n.º 10
0
 //public AD7BreakpointBoundEvent(AD7PendingBreakpoint pendingBreakpoint, AD7BoundBreakpoint boundBreakpoint)
 public AD7BreakpointBoundEvent(AD7PendingBreakpoint pendingBreakpoint, AD7BoundBreakpoint boundBreakpoint = null)
 {
     _pendingBreakpoint = pendingBreakpoint;
     _boundBreakpoint   = boundBreakpoint;
 }
Exemplo n.º 11
0
 public AD7BreakpointEvent(AD7PendingBreakpoint boundBreakpoints)
 {
     _boundBreakpoints = boundBreakpoints;
 }
Exemplo n.º 12
0
 //public AD7BreakpointBoundEvent(AD7PendingBreakpoint pendingBreakpoint, AD7BoundBreakpoint boundBreakpoint)
 public AD7BreakpointBoundEvent(AD7PendingBreakpoint pendingBreakpoint, AD7BoundBreakpoint boundBreakpoint = null)
 {
     _pendingBreakpoint = pendingBreakpoint;
     _boundBreakpoint = boundBreakpoint;
 }
Exemplo n.º 13
0
 public AD7BreakpointBoundEvent(AD7PendingBreakpoint pendingBreakpoint, AD7BoundBreakpoint boundBreakpoint)
 {
     m_pendingBreakpoint = pendingBreakpoint;
     m_boundBreakpoint   = boundBreakpoint;
 }
Exemplo n.º 14
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);
 }
Exemplo n.º 15
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);
 }