Esempio n. 1
0
 int IDebugBreakpointBoundEvent2.EnumBoundBreakpoints(out IEnumDebugBoundBreakpoints2 ppEnum)
 {
     IDebugBoundBreakpoint2[] boundBreakpoints = new IDebugBoundBreakpoint2[1];
     boundBreakpoints[0] = m_boundBreakpoint;
     ppEnum = new AD7BoundBreakpointsEnum(boundBreakpoints);
     return(VSConstants.S_OK);
 }
Esempio n. 2
0
 // Enumerates all breakpoints bound from this pending breakpoint
 int IDebugPendingBreakpoint2.EnumBoundBreakpoints(out IEnumDebugBoundBreakpoints2 ppEnum)
 {
     lock (mBoundBPs) {
         IDebugBoundBreakpoint2[] boundBreakpoints = mBoundBPs.ToArray();
         ppEnum = new AD7BoundBreakpointsEnum(boundBreakpoints);
     }
     return(VSConstants.S_OK);
 }
Esempio n. 3
0
        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);
            var ad7Thread            = (AD7Thread)thread;

            Send(eventObject, AD7BreakpointEvent.IID, ad7Thread);
        }