public void OnBreakpoint(AD7Thread thread, IList <IDebugBoundBreakpoint2> clients) { var boundBreakpoints = new IDebugBoundBreakpoint2[clients.Count]; int i = 0; foreach (var objCurrentBreakpoint in clients) { boundBreakpoints[i] = objCurrentBreakpoint; i++; } // An engine that supports more advanced breakpoint features such as hit counts, conditions and filters // should notify each bound breakpoint that it has been hit and evaluate conditions here. // The sample engine does not support these features. var boundBreakpointsEnum = new AD7BoundBreakpointsEnum(boundBreakpoints); var eventObject = new AD7BreakpointEvent(boundBreakpointsEnum); Send(eventObject, AD7BreakpointEvent.IID, thread); }
public void OnBreakpoint(DebuggedThread thread, ReadOnlyCollection <object> clients) { IDebugBoundBreakpoint2[] boundBreakpoints = new IDebugBoundBreakpoint2[clients.Count]; int i = 0; foreach (object objCurrentBreakpoint in clients) { boundBreakpoints[i] = (IDebugBoundBreakpoint2)objCurrentBreakpoint; i++; } // An engine that supports more advanced breakpoint features such as hit counts, conditions and filters // should notify each bound breakpoint that it has been hit and evaluate conditions here. // The sample engine does not support these features. AD7BoundBreakpointsEnum boundBreakpointsEnum = new AD7BoundBreakpointsEnum(boundBreakpoints); AD7BreakpointEvent eventObject = new AD7BreakpointEvent(boundBreakpointsEnum); AD7Thread ad7Thread = (AD7Thread)thread.Client; Send(eventObject, AD7BreakpointEvent.IID, ad7Thread); }
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); }
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); } }