Example #1
0
    public  HRESULT GetMethodProperty( 
      IDebugSymbolProvider    pSymbolProvider,
      IDebugAddress           pAddress,
      IDebugBinder			      pBinder,
      bool	                  includeHiddenLocals,
      out IDebugProperty2     ppproperty
      ) 
    {

      HRESULT hr = (int)HResult.S_OK;
      ppproperty = null;
      IDebugContext context = new CDebugContext(pSymbolProvider, pAddress, pBinder);
      if (context != null)
      {
        IDebugProperty prop = null;
        prop = this.cciEvaluator.GetCurrentMethodProperty((IDebugMethodSymbol)context.GetContainer());

        if (null != prop)
        {
          CDebugProperty debugProp = new CDebugProperty(prop);
          if (null != debugProp)
          {
            ppproperty = debugProp as IDebugProperty2;
          }
          else
            hr = (HRESULT)HResult.E_OUTOFMEMORY;
        }
      } 
      else
        hr = (HRESULT)HResult.E_OUTOFMEMORY;

      return hr;
    }
Example #2
0
    public  void Next(
      System.UInt32 celt, 
      DEBUG_PROPERTY_INFO []rgelt, 
      out System.Int32 pceltFetched) {
      
      pceltFetched = 0;
      if (rgelt == null)
        rgelt	= new DEBUG_PROPERTY_INFO[celt];

      for (ulong i = 0; i < celt; i++){
        IDebugProperty debugProperty = null;
        debugProperty = this.enumDebugProperty.Current;
        if (null != debugProperty) {
          CDebugProperty prop = new CDebugProperty(debugProperty);
          if (null != prop){
            prop.GetPropertyInfo(this.dwFields, this.dwRadix, this.timeout, null, 0, out rgelt[i]);
          } 
        }

        pceltFetched++;

        bool success = false;
        success = this.enumDebugProperty.MoveNext();
        if (success == false && i < celt-1) {
          break;
        }
      }
    }
Example #3
0
 public  CDebugProperty(IDebugProperty prop) {
   this.prop = prop;
   this.parent = null;
 }
Example #4
0
    // Get the parent of this property
    public  void GetParent(out IDebugProperty2 ppParent) {
      ppParent = null;
      if (null == this.parent){
        IDebugProperty parentProp = null;
        parentProp = this.prop.Parent;

        if (null != parentProp){
          this.parent = new CDebugProperty(parentProp);
        }
      }

      if (null != this.parent){
        ppParent = this.parent;
      }

    }
Example #5
0
    // IDebugParsedExpression
    public void EvaluateSync(uint dwEvalFlags, uint dwTimeout, IDebugSymbolProvider pSymbolProvider,
      IDebugAddress pAddress, IDebugBinder pBinder, String bstrResultType, out IDebugProperty2 ppResult) {

      ppResult = null;
      IDebugContext context = new CDebugContext(pSymbolProvider, pAddress, pBinder);
      if (context != null){
        IDebugProperty prop = null;
        prop = this.EvaluateExpression(dwEvalFlags, dwTimeout, context, bstrResultType);

        if (prop != null){
          CDebugProperty debugProp = new CDebugProperty(prop);
          if (null != debugProp)
            ppResult = debugProp as IDebugProperty2;
        }
      }
    }