示例#1
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;
                    }
                }
            }
        }
示例#2
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);
        }
示例#3
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;
    }
示例#4
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;
        }
      }
    }