Ejemplo n.º 1
0
        int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo) {
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0) { }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0) { }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_THREAD) != 0) { }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0) { }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_TYPE) != 0) { }

            throw new Exception("The method or operation is not implemented.");
        }
Ejemplo n.º 2
0
        public int GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo) {
            var result = new BP_ERROR_RESOLUTION_INFO();
            result.dwFields = enum_BPERESI_FIELDS.BPERESI_MESSAGE | enum_BPERESI_FIELDS.BPERESI_TYPE;
            result.dwType = enum_BP_ERROR_TYPE.BPET_GENERAL_ERROR;
            result.bstrMessage = Message;

            pErrorResolutionInfo[0] = result;
            return VSConstants.S_OK;
        }
Ejemplo n.º 3
0
        public int GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
        {
            var result = new BP_ERROR_RESOLUTION_INFO();

            result.dwFields    = enum_BPERESI_FIELDS.BPERESI_MESSAGE | enum_BPERESI_FIELDS.BPERESI_TYPE;
            result.dwType      = enum_BP_ERROR_TYPE.BPET_GENERAL_ERROR;
            result.bstrMessage = Message;

            pErrorResolutionInfo[0] = result;
            return(VSConstants.S_OK);
        }
Ejemplo n.º 4
0
        public int GetResolutionInfo(enum_BPERESI_FIELDS fields,
                                     BP_ERROR_RESOLUTION_INFO[] errorResolutionInfo)
        {
            if ((fields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
            {
                errorResolutionInfo[0].dwFields   |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                errorResolutionInfo[0].bstrMessage = _errorMessage;
            }

            if ((fields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
                errorResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                errorResolutionInfo[0].dwType    = _errorType;
            }
            return(VSConstants.S_OK);
        }
        public int GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
        {
            if (pErrorResolutionInfo == null)
            {
                throw new ArgumentNullException("pErrorResolutionInfo");
            }
            if (pErrorResolutionInfo.Length == 0)
            {
                throw new ArgumentException();
            }

            pErrorResolutionInfo[0].dwFields = 0;

            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0 && _message != null)
            {
                pErrorResolutionInfo[0].dwFields   |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                pErrorResolutionInfo[0].bstrMessage = _message;
            }

            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0 && _program != null)
            {
                pErrorResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_PROGRAM;
                pErrorResolutionInfo[0].pProgram  = _program;
            }

            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0 && _thread != null)
            {
                pErrorResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_THREAD;
                pErrorResolutionInfo[0].pThread   = _thread;
            }

            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
                pErrorResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                pErrorResolutionInfo[0].dwType    = _errorType;
            }

            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0 && _location != null)
            {
                pErrorResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION;
                _location.ToNativeForm(out pErrorResolutionInfo[0].bpResLocation);
            }

            return(VSConstants.S_OK);
        }
Ejemplo n.º 6
0
 int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
 {
     Debug.WriteLine("AD7DebugErrorBreakpointResolution: GetResolutionInfo");
     if ((dwFields == enum_BPERESI_FIELDS.BPERESI_ALLFIELDS) ||
         ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0) ||
         ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0))
     {
         BP_RESOLUTION_INFO[] resolutionInfo = new BP_RESOLUTION_INFO[1];
         ((IDebugBreakpointResolution2)bp).GetResolutionInfo(enum_BPRESI_FIELDS.BPRESI_ALLFIELDS, resolutionInfo);
         pErrorResolutionInfo[0].dwFields      = dwFields;
         pErrorResolutionInfo[0].bpResLocation = resolutionInfo[0].bpResLocation;
         pErrorResolutionInfo[0].pProgram      = resolutionInfo[0].pProgram;
         pErrorResolutionInfo[0].pThread       = resolutionInfo[0].pThread;
         pErrorResolutionInfo[0].dwType        = enum_BP_ERROR_TYPE.BPET_GENERAL_WARNING;
         pErrorResolutionInfo[0].bstrMessage   = "Breakpoint invalid in this location.";
     }
     return(VSConstants.S_OK);
 }
 int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
 {
   Debug.WriteLine("AD7DebugErrorBreakpointResolution: GetResolutionInfo");
   if ( (dwFields == enum_BPERESI_FIELDS.BPERESI_ALLFIELDS) ||
     (( dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE ) != 0 ) ||
     (( dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE ) != 0 ) )
   {
     BP_RESOLUTION_INFO[] resolutionInfo = new BP_RESOLUTION_INFO[1];
     ((IDebugBreakpointResolution2)bp).GetResolutionInfo( enum_BPRESI_FIELDS.BPRESI_ALLFIELDS, resolutionInfo);
     pErrorResolutionInfo[0].dwFields = dwFields;
     pErrorResolutionInfo[0].bpResLocation = resolutionInfo[0].bpResLocation;
     pErrorResolutionInfo[0].pProgram = resolutionInfo[0].pProgram;
     pErrorResolutionInfo[0].pThread = resolutionInfo[0].pThread;
     pErrorResolutionInfo[0].dwType = enum_BP_ERROR_TYPE.BPET_GENERAL_WARNING;
     pErrorResolutionInfo[0].bstrMessage = "Breakpoint invalid in this location.";
   }
   return VSConstants.S_OK;
 }
 // Token: 0x0600012B RID: 299 RVA: 0x0000558C File Offset: 0x0000378C
 public int GetResolutionInfo(enum_BPERESI_FIELDS fields, BP_ERROR_RESOLUTION_INFO[] info)
 {
     if ((fields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
     {
         info[0].pProgram  = this.process;
         info[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_PROGRAM;
     }
     if ((fields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
     {
         info[0].bstrMessage = this.message;
         info[0].dwFields   |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
     }
     if ((fields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
     {
         info[0].dwType    = enum_BP_ERROR_TYPE.BPET_GENERAL_ERROR;
         info[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
     }
     return(0);
 }
Ejemplo n.º 9
0
        public int GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pBPResolutionInfo)
        {
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) == enum_BPERESI_FIELDS.BPERESI_PROGRAM)
            {
                pBPResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_PROGRAM;
                pBPResolutionInfo[0].pProgram  = _engine;
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) == enum_BPERESI_FIELDS.BPERESI_TYPE)
            {
                pBPResolutionInfo[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                pBPResolutionInfo[0].dwType    = enum_BP_ERROR_TYPE.BPET_TYPE_WARNING;
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) == enum_BPERESI_FIELDS.BPERESI_MESSAGE)
            {
                pBPResolutionInfo[0].dwFields   |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                pBPResolutionInfo[0].bstrMessage = "Current code is not loaded yet";
            }

            return(Constants.S_OK);
        }
Ejemplo n.º 10
0
        int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
        {
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
            {
            }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
            {
            }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
            {
            }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
            {
            }
            if (((uint)dwFields & (uint)enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
            }

            throw new Exception("The method or operation is not implemented.");
        }
        int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
        {
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
            }

            //throw new NotImplementedException("The method or operation is not implemented.");
            return(EngineConstants.E_NOTIMPL);
        }
Ejemplo n.º 12
0
        int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] info)
        {
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
            {
                info[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                info[0].bstrMessage = m_Message;
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
                info[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                info[0].dwType = m_errorType;
            }

            return VSConstants.S_OK;
        }
Ejemplo n.º 13
0
        int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] info)
        {
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
            {
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
            {
                info[0].dwFields   |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                info[0].bstrMessage = _message;
            }
            if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
            {
                info[0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                info[0].dwType    = _errorType;
            }

            return(Constants.S_OK);
        }
 public int GetErrorResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        #endregion

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        #region IDebugErrorBreakpointResolution2 Members

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public int GetResolutionInfo(enum_BPERESI_FIELDS requestedFields, BP_ERROR_RESOLUTION_INFO [] resolutionInfo)
        {
            //
            // Gets the breakpoint resolution information.
            //

            LoggingUtils.PrintFunction();

            try
            {
                resolutionInfo [0] = new BP_ERROR_RESOLUTION_INFO();

                if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
                {
                    enum_BP_TYPE bpType;

                    GetBreakpointType(out bpType);

                    if (bpType == enum_BP_TYPE.BPT_CODE)
                    {
                        resolutionInfo [0].bpResLocation.bpType = (uint)bpType;

                        resolutionInfo [0].bpResLocation.unionmember1 = Marshal.GetComInterfaceForObject(m_codeContext, typeof(IDebugCodeContext2));
                    }
                    else if (bpType == enum_BP_TYPE.BPT_DATA)
                    {
                        resolutionInfo [0].bpResLocation.bpType = (uint)bpType;

                        throw new NotImplementedException();
                    }

                    resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION;
                }

                if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
                {
                    LoggingUtils.RequireOk(m_codeContext.GetProgram(out resolutionInfo [0].pProgram));

                    resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_PROGRAM;
                }

                if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
                {
                }

                if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
                {
                    resolutionInfo [0].bstrMessage = m_resolutionMessage;

                    resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
                }

                if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
                {
                    resolutionInfo [0].dwType = enum_BP_ERROR_TYPE.BPET_GENERAL_WARNING;

                    resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
                }

                return(Constants.S_OK);
            }
            catch (NotImplementedException e)
            {
                LoggingUtils.HandleException(e);

                return(Constants.E_NOTIMPL);
            }
            catch (Exception e)
            {
                LoggingUtils.HandleException(e);

                return(Constants.E_FAIL);
            }
        }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #endregion

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    #region IDebugErrorBreakpointResolution2 Members

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public int GetResolutionInfo (enum_BPERESI_FIELDS requestedFields, BP_ERROR_RESOLUTION_INFO [] resolutionInfo)
    {
      // 
      // Gets the breakpoint resolution information.
      // 

      LoggingUtils.PrintFunction ();

      try
      {
        resolutionInfo [0] = new BP_ERROR_RESOLUTION_INFO ();

        if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0)
        {
          enum_BP_TYPE bpType;

          GetBreakpointType (out bpType);

          if (bpType == enum_BP_TYPE.BPT_CODE)
          {
            resolutionInfo [0].bpResLocation.bpType = (uint)bpType;

            resolutionInfo [0].bpResLocation.unionmember1 = Marshal.GetComInterfaceForObject (m_codeContext, typeof (IDebugCodeContext2));
          }
          else if (bpType == enum_BP_TYPE.BPT_DATA)
          {
            resolutionInfo [0].bpResLocation.bpType = (uint)bpType;

            throw new NotImplementedException ();
          }

          resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION;
        }

        if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0)
        {
          LoggingUtils.RequireOk (m_codeContext.GetProgram (out resolutionInfo [0].pProgram));

          resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_PROGRAM;
        }

        if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0)
        {
        }

        if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0)
        {
          resolutionInfo [0].bstrMessage = m_resolutionMessage;

          resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_MESSAGE;
        }

        if ((requestedFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0)
        {
          resolutionInfo [0].dwType = enum_BP_ERROR_TYPE.BPET_GENERAL_WARNING;

          resolutionInfo [0].dwFields |= enum_BPERESI_FIELDS.BPERESI_TYPE;
        }

        return Constants.S_OK;
      }
      catch (NotImplementedException e)
      {
        LoggingUtils.HandleException (e);

        return Constants.E_NOTIMPL;
      }
      catch (Exception e)
      {
        LoggingUtils.HandleException (e);

        return Constants.E_FAIL;
      }
    }
 public int GetErrorResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 18
0
 int IDebugErrorBreakpointResolution2.GetResolutionInfo(enum_BPERESI_FIELDS dwFields, BP_ERROR_RESOLUTION_INFO[] pErrorResolutionInfo) {
     pErrorResolutionInfo[0].dwFields = dwFields;
     if ((dwFields & enum_BPERESI_FIELDS.BPERESI_PROGRAM) != 0) {
         pErrorResolutionInfo[0].pProgram = (IDebugProgram2)m_engine;
     }
     if ((dwFields & enum_BPERESI_FIELDS.BPERESI_THREAD) != 0) {
         pErrorResolutionInfo[0].pThread = (IDebugThread2)m_engine.MainThread;
     }
     if ((dwFields & enum_BPERESI_FIELDS.BPERESI_TYPE) != 0) {
         pErrorResolutionInfo[0].dwType = enum_BP_ERROR_TYPE.BPET_GENERAL_WARNING;
     }
     if ((dwFields & enum_BPERESI_FIELDS.BPERESI_BPRESLOCATION) != 0) {
         pErrorResolutionInfo[0].bpResLocation =  new BP_RESOLUTION_LOCATION();
         pErrorResolutionInfo[0].bpResLocation.bpType = (uint)enum_BP_TYPE.BPT_CODE;
     }
     if ((dwFields & enum_BPERESI_FIELDS.BPERESI_MESSAGE) != 0) {
         pErrorResolutionInfo[0].bstrMessage = "No code has been loaded for this code location.";
     }
     return VSConstants.S_OK;
 }