Пример #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public DebuggeeBreakpointBound(DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext)
        {
            if (breakpointManager == null)
            {
                throw new ArgumentNullException("breakpointManager");
            }

            if (pendingBreakpoint == null)
            {
                throw new ArgumentNullException("pendingBreakpoint");
            }

            if (codeContext == null)
            {
                throw new ArgumentNullException("codeContext");
            }

            m_breakpointManager = breakpointManager;

            m_pendingBreakpoint = pendingBreakpoint;

            m_codeContext = codeContext;

            m_breakpointResolution = new DebuggeeBreakpointResolution(m_codeContext, "<bound breakpoint>");

            m_breakpointEnabled = true;

            m_breakpointDeleted = false;

            m_hitCount = 0;
        }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public CLangDebuggeeBreakpointBound (CLangDebugger debugger, DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, MiBreakpoint gdbBreakpoint)
      : base (breakpointManager, pendingBreakpoint, codeContext)
    {
      m_debugger = debugger;

      GdbBreakpoint = gdbBreakpoint;
    }
Пример #3
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public CLangDebuggeeBreakpointBound(CLangDebugger debugger, DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, MiBreakpoint gdbBreakpoint)
            : base(breakpointManager, pendingBreakpoint, codeContext)
        {
            m_debugger = debugger;

            GdbBreakpoint = gdbBreakpoint;
        }
Пример #4
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public CLangDebuggeeBreakpointError(CLangDebugger debugger, DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, MiBreakpoint gdbBreakpoint, string error)
            : base(breakpointManager, pendingBreakpoint, codeContext, error)
        {
            m_debugger = debugger;

            GdbBreakpoint = gdbBreakpoint;
        }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public CLangDebuggeeBreakpointError (CLangDebugger debugger, DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, MiBreakpoint gdbBreakpoint, string error)
      : base (breakpointManager, pendingBreakpoint, codeContext, error)
    {
      m_debugger = debugger;

      GdbBreakpoint = gdbBreakpoint;
    }
Пример #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public DebuggeeBreakpointError(DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, string error)
        {
            if (breakpointManager == null)
            {
                throw new ArgumentNullException("breakpointManager");
            }

            if (pendingBreakpoint == null)
            {
                throw new ArgumentNullException("pendingBreakpoint");
            }

            if (codeContext == null)
            {
                throw new ArgumentNullException("codeContext");
            }

            m_breakpointManager = breakpointManager;

            m_pendingBreakpoint = pendingBreakpoint;

            m_codeContext = codeContext;

            m_breakpointResolution = new DebuggeeBreakpointResolution(m_codeContext, error);
        }
Пример #7
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public DebuggeeBreakpointError(DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext, string error)
        {
            m_breakpointManager = breakpointManager ?? throw new ArgumentNullException(nameof(breakpointManager));

            m_pendingBreakpoint = pendingBreakpoint ?? throw new ArgumentNullException(nameof(pendingBreakpoint));

            m_codeContext = codeContext ?? throw new ArgumentNullException(nameof(codeContext));

            m_breakpointResolution = new DebuggeeBreakpointResolution(m_codeContext, error);
        }
Пример #8
0
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public DebugEngine ()
    {
      m_broadcastHandleLock = new AutoResetEvent (false);

      m_breakpointManager = new DebugBreakpointManager (this);

      m_launchConfiguration = new LaunchConfiguration ();

      Program = null;

      NativeDebugger = null;

      JavaDebugger = null;
    }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public DebuggeeBreakpointBound(DebugBreakpointManager breakpointManager, DebuggeeBreakpointPending pendingBreakpoint, DebuggeeCodeContext codeContext)
        {
            m_breakpointManager = breakpointManager ?? throw new ArgumentNullException(nameof(breakpointManager));

            m_pendingBreakpoint = pendingBreakpoint ?? throw new ArgumentNullException(nameof(pendingBreakpoint));

            m_codeContext = codeContext ?? throw new ArgumentNullException(nameof(codeContext));

            m_breakpointResolution = new DebuggeeBreakpointResolution(m_codeContext, "<bound breakpoint>");

            m_breakpointEnabled = true;

            m_breakpointDeleted = false;

            m_hitCount = 0;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public DebuggeeBreakpointPending(DebugBreakpointManager breakpointManager, IDebugBreakpointRequest2 breakpointRequest)
        {
            m_breakpointManager = breakpointManager;

            m_breakpointRequest = breakpointRequest;

            BP_REQUEST_INFO [] requestInfo = new BP_REQUEST_INFO [1];

            LoggingUtils.RequireOk(m_breakpointRequest.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo));

            m_breakpointRequestInfo = requestInfo [0];

            m_boundBreakpoints = new List <IDebugBoundBreakpoint2> ();

            m_errorBreakpoints = new List <IDebugErrorBreakpoint2> ();

            m_breakpointEnabled = true;

            m_breakpointDeleted = false;
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public CLangDebuggeeBreakpointPending(CLangDebugger debugger, DebugBreakpointManager breakpointManager, IDebugBreakpointRequest2 breakpointRequest)
            : base(breakpointManager, breakpointRequest)
        {
            m_debugger = debugger;
        }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public CLangDebuggeeBreakpointPending (CLangDebugger debugger, DebugBreakpointManager breakpointManager, IDebugBreakpointRequest2 breakpointRequest)
      : base (breakpointManager, breakpointRequest)
    {
      m_debugger = debugger;
    }