示例#1
0
        private void DebugBreakpoint_BreakpointHit(object sender, EventArgs e)
        {
            var bps = new AD7BoundBreakpointEnum(new IDebugBoundBreakpoint2[] { this });
            var evt = new AD7BreakpointEvent(bps);

            PendingBreakpoint.Engine.Send(evt, AD7BreakpointEvent.IID);
        }
示例#2
0
文件: AD7Events.cs 项目: nomada2/RTVS
 int IDebugBreakpointBoundEvent2.EnumBoundBreakpoints(out IEnumDebugBoundBreakpoints2 ppEnum)
 {
     IDebugBoundBreakpoint2[] boundBreakpoints = new IDebugBoundBreakpoint2[1];
     boundBreakpoints[0] = m_boundBreakpoint;
     ppEnum = new AD7BoundBreakpointEnum(boundBreakpoints);
     return(VSConstants.S_OK);
 }
示例#3
0
 int IDebugPendingBreakpoint2.EnumBoundBreakpoints(out IEnumDebugBoundBreakpoints2 ppEnum)
 {
     ppEnum = new AD7BoundBreakpointEnum(
         _boundBreakpoint == null ?
         new IDebugBoundBreakpoint2[] { } :
         new IDebugBoundBreakpoint2[] { _boundBreakpoint });
     return(VSConstants.S_OK);
 }
示例#4
0
        private void Session_Browse(object sender, DebugBrowseEventArgs e)
        {
            lock (_browseLock) {
                _currentBrowseEventArgs = e;
                _sentContinue           = false;
            }

            // If we hit a breakpoint or completed a step, we have already reported the stop from the corresponding handlers.
            // Otherwise, this is just a random Browse prompt, so raise a dummy breakpoint event with no breakpoints to stop.
            if (e.BreakpointsHit.Count == 0 && !e.IsStepCompleted)
            {
                var bps = new AD7BoundBreakpointEnum(new IDebugBoundBreakpoint2[0]);
                var evt = new AD7BreakpointEvent(bps);
                Send(evt, AD7BreakpointEvent.IID);
            }
        }