void CreateStartupDebugBreakEvent(DebugEventBreakpointType evt, Predicate <DebugEventBreakpointConditionContext> cond = null) { Debug.Assert(debugger.ProcessState == DebuggerProcessState.Starting); DnDebugEventBreakpoint bp = null; bp = debugger.CreateBreakpoint(evt, ctx => { if (cond == null || cond((DebugEventBreakpointConditionContext)ctx)) { debugger.RemoveBreakpoint(bp); return(true); } return(false); }); }
/// <summary> /// Creates a debug event breakpoint /// </summary> /// <param name="eventType">Debug event</param> /// <param name="bpCond">Condition or null</param> /// <returns></returns> public DnDebugEventBreakpoint CreateBreakpoint(DebugEventBreakpointType eventType, IBreakpointCondition bpCond = null) { DebugVerifyThread(); var bp = new DnDebugEventBreakpoint(eventType, bpCond); debugEventBreakpointList.Add(bp); return bp; }
/// <summary> /// Creates a debug event breakpoint /// </summary> /// <param name="eventType">Debug event</param> /// <param name="cond">Condition</param> /// <returns></returns> public DnDebugEventBreakpoint CreateBreakpoint(DebugEventBreakpointType eventType, Predicate<BreakpointConditionContext> cond) { DebugVerifyThread(); return CreateBreakpoint(eventType, new DelegateBreakpointCondition(cond)); }
void CreateStartupDebugBreakEvent(DebugEventBreakpointType evt, Predicate<DebugEventBreakpointConditionContext> cond = null) { Debug.Assert(debugger.ProcessState == DebuggerProcessState.Starting); DnDebugEventBreakpoint bp = null; bp = debugger.CreateBreakpoint(evt, ctx => { if (cond == null || cond((DebugEventBreakpointConditionContext)ctx)) { debugger.RemoveBreakpoint(bp); return true; } return false; }); }
internal DnDebugEventBreakpoint(DebugEventBreakpointType eventType, IBreakpointCondition bpCond) : base(bpCond) { this.eventType = eventType; }