Ejemplo n.º 1
0
        DebugPendingBreakpoint(JoinableTaskContext taskContext,
                               DebugBoundBreakpoint.Factory debugBoundBreakpointFactory,
                               BreakpointErrorEnumFactory breakpointErrorEnumFactory,
                               BoundBreakpointEnumFactory breakpointBoundEnumFactory,
                               IBreakpointManager breakpointManager, IDebugProgram2 program,
                               IDebugBreakpointRequest2 request, RemoteTarget target,
                               Marshal marshal)
        {
            taskContext.ThrowIfNotOnMainThread();

            _debugBoundBreakpointFactory = debugBoundBreakpointFactory;
            _breakpointErrorEnumFactory  = breakpointErrorEnumFactory;
            _breakpointBoundEnumFactory  = breakpointBoundEnumFactory;
            _breakpointManager           = breakpointManager;
            _program = program;
            _request = request;
            _target  = target;
            _marshal = marshal;

            _boundBreakpoints = new Dictionary <int, IBoundBreakpoint>();

            BP_REQUEST_INFO[] breakpointRequestInfo = new BP_REQUEST_INFO[1];
            request.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_BPLOCATION |
                                   enum_BPREQI_FIELDS.BPREQI_CONDITION |
                                   enum_BPREQI_FIELDS.BPREQI_PASSCOUNT |
                                   enum_BPREQI_FIELDS.BPREQI_LANGUAGE,
                                   breakpointRequestInfo);
            _requestInfo = breakpointRequestInfo[0];

            _enabled             = false;
            _deleted             = false;
            _breakpointCondition = new BreakpointCondition(_requestInfo);
        }
        private void Init(Vector2 screenPosition, IQualifierVisualizer qv, EditorWindow host)
        {
            this.minSize = new Vector2(210f, 50f);
            this.maxSize = new Vector2(230f, 80f);

            var winRect = this.position;

            winRect.size  = new Vector2(220f, 60f);
            this.position = PopupConstraints.GetValidPosition(winRect, screenPosition, host);

            _qv        = qv;
            _condition = new BreakpointCondition();
            var current = qv.breakpointCondition;

            if (current != null)
            {
                _condition.compareOperator = current.compareOperator;
                _condition.scoreThreshold  = current.scoreThreshold;
            }
        }
Ejemplo n.º 3
0
        public HardwareBreakPoint(ModulePointer Pointer, BreakpointCondition Condition, int Length)
        {
            if (Condition == BreakpointCondition.Code)
            {
                Length = 1;
            }

            this.Pointer   = Pointer;
            this.Condition = Condition;

            switch (Length)
            {
            case 1: this.Length = 0; break;

            case 2: this.Length = 1; break;

            case 4: this.Length = 3; break;

            case 8: this.Length = 2; break;

            default: throw new BreakPointException("Invalid length!");
            }
        }