共用方式為


IDebugParsedExpression::EvaluateSync

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

This method evaluates the parsed expression and optionally casts the result to another data type.

Syntax

HRESULT EvaluateSync( 
   DWORD                 dwEvalFlags,
   DWORD                 dwTimeout,
   IDebugSymbolProvider* pSymbolProvider,
   IDebugAddress*        pAddress,
   IDebugBinder*         pBinder,
   BSTR                  bstrResultType,
   IDebugProperty2**     ppResult
);
int EvaluateSync(
   uint                 dwEvalFlags,
   uint                 dwTimeout,
   IDebugSymbolProvider pSymbolProvider,
   IDebugAddress        pAddress,
   IDebugBinder         pBinder,
   string               bstrResultType,
   out IDebugProperty2  ppResult
);

Parameters

dwEvalFlags
[in] A combination of EVALFLAGS constants that control how the expression is to be evaluated.

dwTimeout
[in] Specifies the maximum time, in milliseconds, to wait before returning from this method. Use INFINITE to wait indefinitely.

pSymbolProvider
[in] The symbol provider, expressed as an IDebugSymbolProvider interface.

pAddress
[in] The current execution location within a method, expressed as an IDebugAddress interface.

pBinder
[in] The binder, expressed as an IDebugBinder interface.

bstrResultType
[in] The type the result should be cast to. This argument can be a null value.

ppResult
[out] Returns the IDebugProperty2 interface that represents the results of evaluation.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

The expression evaluation context is given by pAddress, which makes it possible to determine the containing method and then use language scoping rules to determine the value of the symbols in the expression.

See also